时间:2020年1月26日16:09
地点:宅着
新型冠状病毒的事件在持续发酵,我这的病例不多但也没有多少人上街了,人人自危。
小爬虫爬取的西刺代理网站的高匿代理
文件的代码如下:
import time
import random
from bs4 import BeautifulSoup
import csv
import requests
import pandas as pd
from ip地址爬取策略_未完成.headers import get_user_agent
class ipspider:
def get_ip():
header = {"User-Agent":get_user_agent()}
html = requests.get('https://www.xicidaili.com/nn/1',headers=header,proxies = {'http':'http://125.123.141.160:9999'})
soup = BeautifulSoup(html.text,"html.parser")
time.sleep(random.randint(50, 120))
ip_table = soup.find_all("tr")
ip_list = []
for i in range(1, len(ip_table)):
ip = ip_table[i].find_all("td")
First = ip[1].text + ':'
Second = First + ip[2].text
ip_list.append(Second)
return ip_list
def write_ip(ip_list):
fo = open("ippool.csv", 'w+', newline='')
filenames = ['Ip']
write_csv = csv.DictWriter(fo,fieldnames=filenames)
for x in range (len(ip_list)):
write_csv.writerow({'Ip':str(ip_list[x])})
fo.close()
def read_ip():
ip = pd.read_csv("ippool.csv",header=None)
x = random.randint(0,len(ip))
result = ip.iloc[x].values[0]
return result
代码分为三个方法:
爬取IP地址
将爬取的IP地址写成CSV
读取已写的CSV文件
其中的get_user_agent()是一个User-Agent的设置
代码只爬取了第一页,一般来说100个IP可以满足需求
emmm,十分简陋…我好菜…:)
愿你我安好,世界和平。