python爬取动态网页
静态网页:根据url即可方便的爬取
动态网页:分为两种:一种是通过F12查看控制台的xhr等文件,找到包含所要爬取的内容的文件,发现这个文件的url路径跟页码有联系,那么就可以根据构造的url来进行访问爬取了。还有一种情况是查看了包含所要爬取内容的文件,发现文件url是固定不变的或者跟页码没有关系,这个时候可以通过简单的模拟浏览器点击行为来请求网页再爬取,这种方案执行效率较慢,不适于多页爬取的情况。代码如下:
def parse(self, response): print ‘parser>>>>>>>>>>>>>>>‘ try: self.varint = 1 while self.varint <= 100: url = self.ROOT_URL + ‘*‘ + str(self.varint) responsenow = requests.get(url) self.parser_html(responsenow) self.varint = self.varint + 1 # time.sleep(0.1) print(‘success>>>>>>>>>>>>‘) except: print(‘failed>>>>>>>>>‘)
对于动态网页,还可以通过模拟客户端发送post请求来爬取,代码如下:
def parse(self, response): formdata = { ‘pageNo‘: ‘‘, ‘categoryId‘: ‘‘, ‘code‘: ‘‘, ‘pageSize‘: 10, ‘source‘: ‘‘, ‘requestUri‘: ‘*‘, ‘requestMethod‘: ‘POST‘ } print ‘parser>>>>>>>>>>>>>>>‘ try: self.varint = 1 formdata[‘source‘] = str(2) formdata[‘pageNo‘] = str(self.varint) while self.varint <= 46: responsenow = requests.post(self.ROOT_URL, data=formdata) self.parser_html(responsenow) self.varint = self.varint + 1 formdata[‘source‘] = formdata[‘pageNo‘] formdata[‘pageNo‘] = str(self.varint) print(‘success>>>>>>>>>>>>‘) except: print(‘failed>>>>>>>>>‘)
相关推荐
qsdnet我想学编程 2020-06-09
huzijia 2020-06-09
pythonclass 2020-06-07
李永毅 2020-06-03
风萧萧梦潇 2020-05-12
cuiwenjie 2020-04-18
码墨 2020-02-14
chouliqingke 2020-02-13
在新项目中使用的是springboot编写的api,涉及到ajax跨域请求和传输文件的问题,在这里记录一下。<input type="button" onclick="test();" value="
daicj 2019-12-25
nxcjh 2020-01-03
zhouhaihua00 2019-12-15
小仙儿 2019-12-01
maidou0 2019-10-19
数据中心运维管理 2019-11-17
81493369 2019-11-04
李永毅 2019-10-29
mmywcoco 2019-10-28
CoderEight 2019-07-02
Bugmoney 2019-07-02