文档介绍:爬虫学习心得
陈思哲
23320122203817
2012级计算机一班
原来的代码有几点我们要改的
,点评网为不同的商区编订不同的号,而且值得注意的是它通常不是连着的,像开始时我们模仿北京的编号就一连串下来,那是错误的。我个人采取的方法是一个区一个区的爬,那怎么知道区号呢?
在网址最上方的最后有一个r1841 那么就代表着鼓浪屿的区号,由于要求是一个区建一个文件,那么鼓浪屿就可以和别的思明区的编号建在一个列表里。
,这些信息会以txt格式来保存。
f=open('D:/dianping/'+str((ISOTIMEFORMAT)) +'.txt','a+')
这个就是多IP爬虫,一个IP很容易就被发现并禁止
这个就是多客户端爬虫,单一个的客户端很容易被发现并禁掉
之后介绍一下搜索的方式,老师给的代码是一种典型的深度优先搜索
import urllib2,urllib
urllib2模块定义的函数和类帮助打开url(主要是HTTP)在一个复杂的世界-基本和简要身份验证,重定向,cookie和更多。
 
import re 正则表达式
import time 提供各种时间函数
import string 字符串处理的函数
improt request 及urlib差不多,更简单
import socket套接字套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。
Python中的random模块用于生成随机数。
 
import user_agents 这个比较特殊,是人为定义的库,这个库存储了许多IP或是对点评网的访问方式,目的就是随机选一个IP访问以避免网站对单一IP登陆的封杀。
timeout = 60
(timeout)
 
#设置 HTTP 或 Socket 访问超时,来防止爬虫抓取某个页面时间过长。(这个时间用秒
#来算)
def get_status(url):
r = (url, allow_redirects = False)
# allow_redirects = False不允许间接地访问,用request库中的get函数来抓取URL
return
#获取网页内容
def content_get(url):
try:
#“#”是注释的意思
# proxy_ip =()
# print proxy_ip
# proxy_support = (proxy_ip)
# opener = (proxy_support,)
# (opener)
req = (url)
#这个类是一个抽象的URL请求。
user_agent = ()
#在刚才的user_agents里面随机找一个登录方法
('User-Agent',user_agent)
('Referrer', url)
print user_agent
#python 的输出函数是print