import requests #需要命令行下pip install requests安装
req = requests.get("http://httpbin.org/get", headers = {"User-Agent" : "ua"}, proxies = {"http" : "ip:port"}, timeout = 10, verify = False)
#以get方式打开链接 设置User-Agent为"ua" 设置代理服务器为"ip:port" 连接超时时间10秒 verify = False不检测证书
print req.status_code #返回状态
print req.url #返回请求url
print req.headers #返回http头
print req.cookies #返回cookie信息
print req.text #返回文本形式网页源码
print req.content #返回字节流形式网页源码
requests模块的使用
from selenium import webdriver #导入selenium的浏览器驱动接口
chrome_options = webdriver.chrome.options.Options()
chrome_options.add_argument('--headless') #后台模式
prefs = {"profile.managed_default_content_settings.images" : 2}
chrome_options.add_experimental_option("prefs",prefs) #不加载图片
chrome_options.add_argument("user-agent=" + "ua") #设置userAgent为"ua"
chrome_options.add_argument("--proxy-server=http://ip:port") #设置代理为"ip:port"
driver = webdriver.Chrome(chrome_options=chrome_options) #根据option获得一个浏览器
driver.set_page_load_timeout(90) #设置页面加载超时时间90秒
driver.get(u"https://www.baidu.com") #打开一个链接
driver.save_screenshot("baidu.png") #得到当前网页的截图
print driver.title #得到当前网页的标题
print driver.current_url #得到当前网页的url
print driver.page_source #得到当前网页的源码
driver.find_element_by_id("kw").send_keys("hello world") #得到源码中id为kw的对象(搜索框) 模拟输入文本"hello world"
driver.find_element_by_id("su").click() #得到源码中id为su的对象(搜索按钮) 模拟单击
driver.execute_script("window.scrollBy(0, 3000)") #执行一个js脚本 下翻页
driver.back() #浏览器后退一个页面
driver.quit() #关闭浏览器
使用selenium模块+chromedriver模拟浏览器访问
import chardet
print chardet.detect(str) #当编码为Unicode时报错
#TypeError: Expected object of type bytes or bytearray, got:
识别一个字符串的编码类型
import warnings
warnings.filterwarnings("ignore") #忽略警告信息
忽略其它模块警告信息
# -*- coding: utf-8 -*-
import codecs
fp = file("a.txt", "r") #utf8带BOM文件
str = fp.read()
fp.close()
print str
print str.replace(codecs.BOM_UTF8, "") #消除文件UTF8格式的BOM头
消除文件UTF8格式的BOM头
# -*- coding: utf-8 -*-
import HTMLParser
Parser = HTMLParser.HTMLParser() #解码器
source = "&>"
source = Parser.unescape(source) #html转移符解码
print source
HTMLParser模块进行html转移符解码
import urllib
def urlEncode(str): #url编码
return urllib.urlencode({ "" : str })[1:]
word = "!@#$%^&*()_+-= "
word = urlEncode(word)
print word
python2 urllib模块url编码