python网络编程requests和selenium模块

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编码

你可能感兴趣的:(python)