Python爬虫的一点实践

爬虫的分析方式

爬网页爬的是数据,如果是简单的html网页,可以通过chrome分析请求连接然后通过scrapy获取想要的数据,主要是xpath和正则表达式的使用;
如果是对网页的无目的搜寻式爬取,可以获取request返回的内容中所有超链接然后不停地爬下去;
如果是对一个网页的指定数据的爬取,直接可以定位到页面元素然后获取;
如果是动态的js渲染的页面,通常直接分析js的渲染结果比较麻烦,这时候可以借助selenium+chromeheadless来进行数据爬取。

selenium的使用注意

使用selenium时常常需要等待页面加载,注意其三种等待方式:

强制等待:

time.sleep(xxx);

隐性等待:

implicitly_wait(xxx);

这种等待方式对driver的整个生命周期都起作用,一次设置整个周期都遵从,因此往往会使等待时间变得很长

显性等待:

webDriverwait().until(xxxxx);

可以定时检查等待条件是否满足然后判断是否往下执行代码

手机和电脑客户端的网页

例如:
windows 客户端:
user_agent = ‘Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0’
iphone客户端:
user_agent = ‘Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25’
android 客户端:
user_agent = ‘Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13’
chrome浏览器开发者工具可以伪装一些平台的浏览器

ps:安装selenium和chromeheadless的链接install selenium

猜你喜欢

转载自blog.csdn.net/u010748502/article/details/80300922
今日推荐