菜鸟初学者求助

yanhan_8848 2020-09-11 11:29:50
我在快代理首页抓取ip地址和端口,打算建立字典。代码如下:


import requests
from lxml import etree

url = 'https://www.kuaidaili.com/free'
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'}

r = requests.get(url=url, headers=header).text
a = etree.HTML(r)

ip_address = a.xpath('//*[@id="list"]/table/tbody//td[@data-title="IP"]/text()')
ip_port = a.xpath('//*[@id="list"]/table/tbody//td[@data-title="PORT"]/text()')
ip_dict = dict(zip(ip_address, ip_port))

proxy = []
https = []
for key, value in ip_dict.items():
data = "http://" + key + ':' + value
proxy.append(data)
https.append('http')
print(proxy)
print(https)
proxies = dict(zip(https, proxy))
print(proxies)


为什么最后打印出来,看到proxies只有一个元素?应该是15个item才对啊。
求助。谢谢!!
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanhan_8848 2020-09-11
  • 打赏
  • 举报
回复
引用 2 楼 Cleansely的回复:
proxies = dict(zip(proxy, https)) 这样可以 应为dict里键唯一
明白了,键值对里,键名必须唯一,不能重复。谢谢!
Cleansely 2020-09-11
  • 打赏
  • 举报
回复
proxies = dict(zip(proxy, https)) 这样可以 应为dict里键唯一
tianfang 2020-09-11
  • 打赏
  • 举报
回复
逐步调试啊 先看看是否拿到了在浏览器中看到的完整信息 就是line7 的r

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧