刚开做爬虫项目,先不要用类去做,只需要关注数据的来源等问题的解决,不要关注类结构的设计。
可迭代对象就是有__iter__属性的对象
迭代器:有__next__属性的对象
iter(可迭代对象)可以转换成迭代器
可迭代对象有哪些:
list
dict
tuple
str
bytes
set
迭代器
生成器
文件流
如何打印一个文件同时输出行号。 fp = open(‘shabei_spider.py’,‘r’,encoding=‘utf-8’) print(fp) #如何输出行号。 for i,c in enumerate(fp,1): print(i,c)
通过use_agent客户端表示来判断是否是爬虫 解决办法:封装user_agent请求头
通过访问频率来判断 解决办法:设置爬取间隔 a = random.randint(5) time.sleep(a)
封ip 解决办法:设置代理ip
页面内容无法直接获取数据,页面都是js代码 selenium+phantomjs可以获取页面数据
xpath://div[@class=“abc”]/p[@id=“p1”] css选择器:div.abc p #p1
常见的页面技术
js html使我们页面的骨架,css是页面装饰,js是页面的灵魂jquery jquery是一个js库,可以使js代码更加简化ajax:web页面的异步请求,是一种技术DHTML