赞
踩
HTTP中常见发送网络请求的方式有两种,GET和POST。GET是从指定的资源请求数据,POST是向指定的资源提交要被处理的数据。
GET的用法:
- import requests
-
- r = requests.get("https://www.baidu.com/")
- r = r.text
- print(r)
运行结果:
POST的用法:
- import requests
-
- r = requests.post("http://httpbin.org/post", data = {'key':'value'})
- r = r.text
- print(r)
运行结果:
在请求时给timeout一个值,单位是秒,如果请求时间超过这个值,自动断开。
- import requests
-
- r = requests.get("https://github.com/", timeout=1)
- 这个成功
- import requests
-
- r = requests.get("https://github.com/", timeout=0.0001)
- 这个失败
- import requests
-
- r = requests.get("https://www.baidu.com/")
- print(r.encoding)
- print(r.text)
- r.encoding='utf-8'
- print(r.encoding)
- print(r.text)
输出结果:
1.4 设置代理IP
爬虫一般是是以每次分钟数百次甚至上万次的频率访问目标网站,如果爬虫是进行长时间的大量爬取工作的话,一定要给爬虫配置代理IP,否则会被ban。
在PyCharm中的终端里面输入
pip install selenium
Selenium需要使用浏览器里面的driver打开浏览器来进行交互。
这里讲一下webdriver的安装(Edge为例),火狐浏览器还需要安装geckodriver。
记住这个版本号
然后打开这个网站:Microsoft Edge WebDriver |Microsoft Edge 开发人员
然后点击开始下载,把解压出来的exe文件复制到与python.exe同一个文件夹下
在pycharm中运行下面的代码:
- import time
- from selenium import webdriver
-
- browser = webdriver.Edge()
- browser.get("http://www.baidu.com")
- time.sleep(10)
如果弹出百度的网页,则安装成功。
可以执行下面的代码感受一下:
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.edge.service import Service
- import time
-
- service = Service("E:/ana3/msedgedriver.exe") # 指定驱动程序的位置
- driver = webdriver.Edge(service=service) # 创建驱动的实例
- driver.get("http://www.python.org") # 发送请求到指定的 URI
- if "Python" in driver.title: # 检查页面标题是否包含 "Python"
- print("ok") # 如果包含,输出 "ok"
-
- elem = driver.find_element(By.NAME, "q") # 找到参数名为 q 的输入框
- elem.clear() # 清空输入框
- elem.send_keys("python") # 输入文字
- elem.send_keys(Keys.RETURN) # 按回车发送
-
- time.sleep(5) # 保留浏览器窗口 5 秒
-
- driver.close() # 关闭浏览器,释放内存
2.3 Selenium元素定位
我之后单独出一期
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。