Python 几种爬虫的方法

Posted xuyiwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 几种爬虫的方法相关的知识,希望对你有一定的参考价值。

Python 几种爬虫的方法

一、使用Requests库

1.1安装Requests库

pip install Requests

1.2实例:

import Requests

r = Requests.get(url)

print r.text

print  r.status_code

传递URL参数

import requests

key_dict = {‘key1‘:‘value1‘,‘key2‘:‘value2‘}

r = requests.get(url,params=key_dict)

定制请求头

import requests

headers = {"User-Agent":......,

"Host":......}

r = requests.get(url,headers=headers)

print (“响应状态码:”,r.status_code)

 

二、使用selenium模拟浏览器

2.1安装selenium

pip install selenium

示例:

from selenium import webdriver

driver = webdriver.Firefox()

driver.get(url)

注:使用selenium模拟浏览器时,需要下载对应的驱动,例如:火狐:需要下载geckodriver.exe;谷歌:需要下载chromdriver.exe;IE:需要下载IEDriverServer.exe ;下载好驱动后,放在相应的浏览器安装目录下,并将其加入环境变量

 

遇到的问题:

1.Python2和3中‘ascii‘ codec can‘t decode position 0: ordinal not in range(128)

python2:

在开头加上
import sys 

reload(sys)

sys.setdefaultencoding(‘utf-8‘)

python3:

x = pickle.load(open("./data/coco/word2vec.p","rb"),encoding=‘bytes‘)

 

2.使用demjson

pip install demjson

demjson.encode --将对象转换json

demjsonl.decode --将json转化为对象

 

3.print ()

使用

i = cool

print("中文测试:" + i )

使用上述方法容易乱码

可以使用:

print (“中文测试 %s”) % i

解决

 

以上是关于Python 几种爬虫的方法的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫多次请求超时的几种重试方法

Python爬虫系列:判断目标网页编码的几种方法

python 爬虫保存文件的几种方法

python爬虫--解析网页几种方法之BeautifulSoup

python爬虫--解析网页几种方法之正则表达式

Python爬虫定时计划任务的几种常见方法