爬虫常用的三种通用模板小结

本文总结了Python爬虫的三种通用模板:1) 使用urllib2库抓取JSON格式数据;2) 利用selenium进行动态网页抓取;3) 使用Scrapy框架构建爬虫项目,包括spiders、items、pipeline和settings的代码模板。这些模板可为后续爬虫编写提供便利。
摘要由CSDN通过智能技术生成

确实有一段时间没怎么写爬虫了,最近又安排了写爬虫的任务,其实很多东西写过一份,之后再做大部分是复制粘贴代码,然后修改一下。所以这里总结一下通用的地方,之后编写爬虫的时候就可以直接拿来用了。


一、使用urllib2库

对于一些简单的网站,需要获取的信息又是以json格式返回时,我一般喜欢用urllib2库直接写爬虫获取。

 

代码模板:

import urllib2
import urllib
import json
 
requrl = "http://www.baidu.com"  # 输入要抓取的网站
 
# 如果有要post给requrl的数据,以dict的形式
post_data = {'pageIndex':1, 'pagesize':12}
post_data_urlencode = urllib.urlencode(post_data)  
 
 
req = urllib2.Request(url=requrl, data=post_data_urlencode)
res_data = urllib2.urlopen(req)
res = res_data.read()   # 这里返回的是response中的一个json格式串,res是str类型
 
# json.dumps:dict转成str
# json.loads: str转成dict
# 将数据转换为dict,方便取出数据
json_data = json.loads(res)
 

二、使用selenium

from selenium import webdriver
 
# 使用PhantomJS就不会在每次启动的时候都弹出浏览器了
driver = webdriver.PhantomJS()   
requrl = "http://www.baidu.com"
driver.get(requrl)
 
# 通过xpath获取到想要的元素
elements = driver.find_elements_by_xpath('//div[@class="wd"]')
for element in elements:
next_url = element.get_attribute("href")
# 这里获取到下一个需要抓取的网址后,就可以进入下一个函数了
 
driver.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值