开始之前
学习爬虫并记录一下爬取试题文本时使用的代码,遇到的问题等。
读取 txt 文件
1 | import os |
1 | ['Timeout\n', |
爬取 POJ 网站上的试题文本
1 | import requests #爬取网页的库 |
1 | import requests |
1 | 1000#Calculate a+b |
追加文本
1 | # 打开一个文件 |
测试自己 IP 为多少
1 | import requests |
使用 fake_useragent 随机生成 User-Agent
1 | from fake_useragent import UserAgent |
1 | 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7' |
构建自己的 IP 池
从快代理上面爬取 IP,迭代测试能否使用,建立一个自己的代理 IP 池,随时更新用来抓取网站数据
1 | import requests |
1 | # import requests |
测试代理 IP 是否可用
1 | headers = {'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36",} # 构造请求头 |
从 IP 池中取 IP
从文件中随机获取代理 IP 写爬虫,防止同一个 IP 访问频繁被封
1 | import random |
获取收费代理 IP
写一个获取收费开放 API 代理的接口
1 | # 获取开放代理的接口 |
获取私密代理 IP
用户名和密码会在给你 API_URL 的时候给你。不是你的账号和账号密码。格式如下:
proxies = {‘协议’:’协议://用户名:密码@IP:端口号’}
proxies = {‘http’:’http://用户名:密码@IP:端口号’, ‘https’:’https://用户名:密码@IP:端口号’}
proxies = {‘http’: ‘http://309435365:szayclhp@106.75.71.140:16816‘, ‘https’:’https://309435365:szayclhp@106.75.71.140:16816‘}
1 | # 获取开放代理的接口 |
- 本文作者: YuT
- 本文链接: https://ytno1.github.io/archives/dcab6b34.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!