任务思路描述:
先抓取大量的ip(包括不可用和可用的)保存到表1中,再从表1中的所有ip进行筛选,对于可用的ip信息保存到表2中,不可用的ip地址从表1中删除。
- 抓取西刺代理的任意页网站。并将抓取的结果保存到mysql数据库表1中。
import requests
import parsel
import pymysql
conn = pymysql.connect(host="127.0.0.1", user="root", password="123456", db="ips",charset="utf8")
cursor = conn.cursor()
#获取https://www.xicidaili.com/网站内任意数量的ip地址
def crawl_ips(url):
header = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
}
response = requests.get(url=url, headers=header)
html = parsel.Selector(response.text)
#通过xpath筛选出ip地址,端口,地址,http类型,时间
trs = html.xpath("//table[@id='ip_list']//tr")[1:]
for tr in trs:
ip = tr.xpath("./td[2]/text()").get()
port = tr.xpath("./td[3]/text()").get()
address = tr.xpath(&