鱼C论坛

 找回密码
 立即注册
查看: 1872|回复: 4

[已解决]淘宝图片爬虫没结果

[复制链接]
发表于 2020-12-2 19:15:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
使用了正则提取不到任何数据

  1. import urllib.request
  2. import re
  3. import random
  4. keyname="python"
  5. uapools=[
  6.     "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393",
  7.     "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0",
  8.     "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
  9.     ]

  10. def ua(uapools):
  11.     thisua=random.choice(uapools)
  12.     print(thisua)
  13.     headers=("User-Agent",thisua)
  14.     opener=urllib.request.build_opener()
  15.     opener.addheaders=[headers]
  16.     urllib.request.install_opener(opener)
  17. for i in range(1,101):
  18.     url="https://s.taobao.com/search?q="+keyname+"&s="+str((i-1)*44)
  19.     ua(uapools)
  20.     data=urllib.request.urlopen(url).read().decode("utf-8","ignore")
  21.     pat='"pic_url":"//(.*?)"'
  22.     imglist=re.compile(pat).findall(data)
  23.     print(imglist)
复制代码
最佳答案
2020-12-3 20:49:13
本帖最后由 suchocolate 于 2020-12-3 20:52 编辑
不能懒 发表于 2020-12-3 19:34
请问需要怎么操作呢,没用那个过,可以指教一下吗,谢谢


1.打开浏览器,按f12打开开发者模式,选择【网络network】
2.筛选【HTML】
3.点击url对应的消息
4.选择headers
5.复制其中的cookie
Screenshot 2020-12-03 204820.jpg
6.添加到代码中:
  1. from urllib import request

  2. headers = {'User-Agent': 'Firefox',
  3.     'cookie': 'cna=2kChF9tyHG8CAXrghaJMtGY7; isg=BEVFsn7WtgxtZ5ICe-VW1XudV4F_AvmU9-aQK0eqbHyL3mVQD1ZcZNf37IoohRFM; _m_h5_tk=8c38a31824bc2944f60aa6bc53485b5f_1606804667427; _m_h5_tk_enc=ffe57cdccf388a1c247ba670f331ace5; sgcookie=E100iK59LQVMU98z61v6O3WcgM2%2B%2BtZc58ibg0vptIcN2ecLaqHT%2Bcjp3C1mBXhL9VubWjBsBPTYf%2BsxBBqMIDN%2FWg%3D%3D; uc3=lg2=U%2BGCWk%2F75gdr5Q%3D%3D&vt3=F8dCuf2EVlTlBdvF36U%3D&nk2=EEs72J5%2BoFnMGdk%3D&id2=Uoe9bjWUagrH; lgc=suchocolate; uc4=nk4=0%40EpJ8FUSwe1%2FcF99h7%2FnAqjUeA%2FK6gQ%3D%3D&id4=0%40UO%2B7boGwLEdLUssfs7T9IG5OrsM%3D; tracknick=suchocolate; _cc_=WqG3DMC9EA%3D%3D; mt=ci=22_1; thw=cn; l=eBPX-NlPOPoJAah_BOfZ-urza77OGIOYYuPzaNbMiOCP_M5H51gPWZRtU6LMCn1Nh6KeR3R1CkJJBeYBq6CKnxv92j-la_kmn; tfstk=cCYNBbX_5V3aRabRSN_4cKmra6IOaHWcFy5PjntmJL6bTcSO3smUH62a065qQCSG.; enc=N72icSPj%2Br%2BfWT47Fyv2PZXNi%2BWKhbt6vZGyEssxkwtgkBsOPIwm%2B4dPO9yz%2BTOOoG5ZLcL0%2BBltZ2cbQ5FnGQ%3D%3D; xlly_s=1; hng=CN%7Czh-CN%7CCNY%7C156; JSESSIONID=09C8E073732AD66E6E68DE8A592C63F9; cookie2=19d1fffb60c3ac10f0f9cbd9adc86128; t=f69ac286332fa5c6bc610d6afd7606da; _tb_token_=ee38045813153; uc1=cookie14=Uoe0az9oUTduQQ%3D%3D'}
  4. req = request.Request('http://httpbin.org/get', headers=headers)
  5. r = request.urlopen(req)
  6. print(r.read().decode('utf-8'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 22:21:07 | 显示全部楼层
本帖最后由 suchocolate 于 2020-12-2 22:30 编辑

得加cookie,不然网站回302重定向到登陆页面。
cookie可以直接复制浏览器的,添加到headers里用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-3 19:34:33 | 显示全部楼层
suchocolate 发表于 2020-12-2 22:21
得加cookie,不然网站回302重定向到登陆页面。
cookie可以直接复制浏览器的,添加到headers里用。

请问需要怎么操作呢,没用那个过,可以指教一下吗,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 20:49:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2020-12-3 20:52 编辑
不能懒 发表于 2020-12-3 19:34
请问需要怎么操作呢,没用那个过,可以指教一下吗,谢谢


1.打开浏览器,按f12打开开发者模式,选择【网络network】
2.筛选【HTML】
3.点击url对应的消息
4.选择headers
5.复制其中的cookie
Screenshot 2020-12-03 204820.jpg
6.添加到代码中:
  1. from urllib import request

  2. headers = {'User-Agent': 'Firefox',
  3.     'cookie': 'cna=2kChF9tyHG8CAXrghaJMtGY7; isg=BEVFsn7WtgxtZ5ICe-VW1XudV4F_AvmU9-aQK0eqbHyL3mVQD1ZcZNf37IoohRFM; _m_h5_tk=8c38a31824bc2944f60aa6bc53485b5f_1606804667427; _m_h5_tk_enc=ffe57cdccf388a1c247ba670f331ace5; sgcookie=E100iK59LQVMU98z61v6O3WcgM2%2B%2BtZc58ibg0vptIcN2ecLaqHT%2Bcjp3C1mBXhL9VubWjBsBPTYf%2BsxBBqMIDN%2FWg%3D%3D; uc3=lg2=U%2BGCWk%2F75gdr5Q%3D%3D&vt3=F8dCuf2EVlTlBdvF36U%3D&nk2=EEs72J5%2BoFnMGdk%3D&id2=Uoe9bjWUagrH; lgc=suchocolate; uc4=nk4=0%40EpJ8FUSwe1%2FcF99h7%2FnAqjUeA%2FK6gQ%3D%3D&id4=0%40UO%2B7boGwLEdLUssfs7T9IG5OrsM%3D; tracknick=suchocolate; _cc_=WqG3DMC9EA%3D%3D; mt=ci=22_1; thw=cn; l=eBPX-NlPOPoJAah_BOfZ-urza77OGIOYYuPzaNbMiOCP_M5H51gPWZRtU6LMCn1Nh6KeR3R1CkJJBeYBq6CKnxv92j-la_kmn; tfstk=cCYNBbX_5V3aRabRSN_4cKmra6IOaHWcFy5PjntmJL6bTcSO3smUH62a065qQCSG.; enc=N72icSPj%2Br%2BfWT47Fyv2PZXNi%2BWKhbt6vZGyEssxkwtgkBsOPIwm%2B4dPO9yz%2BTOOoG5ZLcL0%2BBltZ2cbQ5FnGQ%3D%3D; xlly_s=1; hng=CN%7Czh-CN%7CCNY%7C156; JSESSIONID=09C8E073732AD66E6E68DE8A592C63F9; cookie2=19d1fffb60c3ac10f0f9cbd9adc86128; t=f69ac286332fa5c6bc610d6afd7606da; _tb_token_=ee38045813153; uc1=cookie14=Uoe0az9oUTduQQ%3D%3D'}
  4. req = request.Request('http://httpbin.org/get', headers=headers)
  5. r = request.urlopen(req)
  6. print(r.read().decode('utf-8'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-4 19:28:16 | 显示全部楼层
suchocolate 发表于 2020-12-3 20:49
1.打开浏览器,按f12打开开发者模式,选择【网络network】
2.筛选【HTML】
3.点击url对应的消息

可以帮忙结合一下代码吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-30 17:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表