码迷,mamicode.com
首页 > 编程语言 > 详细

Python 几种爬虫的方法

时间:2019-03-13 12:17:44      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:.exe   from   测试   web   byte   使用   nbsp   请求头   python3   

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 几种爬虫的方法

标签:.exe   from   测试   web   byte   使用   nbsp   请求头   python3   

原文地址:https://www.cnblogs.com/xuyiwen/p/10522203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!