最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬蟲爬取淘寶商品比價(jià)(附淘寶反爬蟲機(jī)制解決小辦法)

 更新時(shí)間:2020年12月03日 12:06:18   作者:我想吃紅燒豬蹄  
這篇文章主要介紹了python爬蟲爬取淘寶商品比價(jià)(附淘寶反爬蟲機(jī)制解決小辦法),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

因?yàn)樵u(píng)論有很多人說爬取不到,我強(qiáng)調(diào)幾點(diǎn)

kv的格式應(yīng)該是這樣的:

kv = {‘cookie':‘你復(fù)制的一長(zhǎng)串cookie',‘user-agent':‘Mozilla/5.0'}

注意都應(yīng)該用 ‘' ,然后還有個(gè)英文的 逗號(hào),

kv寫完要在后面的代碼中添加

r = requests.get(url, headers=kv,timeout=30)

自己得先登錄自己的淘寶賬號(hào)才有自己登陸的cookie呀,沒登錄cookie當(dāng)然沒用

以下原博

本人是python新手,目前在看中國(guó)大學(xué)MOOC的嵩天老師的爬蟲課程,其中一個(gè)實(shí)例是講如何爬取淘寶商品信息

以下是代碼:

import requests
import re
 
def getHTMLText(url):
 try:
  r = requests.get(url, timeout=30)
  r.raise_for_status()
  r.encoding = r.apparent_encoding
  return r.text
 except:
  return ""
  
def parsePage(ilt, html):
 try:
  plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
  tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
  for i in range(len(plt)):
   price = eval(plt[i].split(':')[1])
   title = eval(tlt[i].split(':')[1])
   ilt.append([price , title])
 except:
  print("")
 
def printGoodsList(ilt):
 tplt = "{:4}\t{:8}\t{:16}"
 print(tplt.format("序號(hào)", "價(jià)格", "商品名稱"))
 count = 0
 for g in ilt:
  count = count + 1
  print(tplt.format(count, g[0], g[1]))
   
def main():
 goods = '書包'
 depth = 3
 start_url = 'https://s.taobao.com/search?q=' + goods
 infoList = []
 for i in range(depth):
  try:
   url = start_url + '&s=' + str(44*i)
   html = getHTMLText(url)
   parsePage(infoList, html)
  except:
   continue
 printGoodsList(infoList)
  
main()

但是我們運(yùn)行的時(shí)候會(huì)發(fā)現(xiàn)這個(gè)程序沒有出錯(cuò),但是爬取不到,原因是淘寶實(shí)施了反爬蟲機(jī)制,r.text 時(shí)是登錄界面,我們?nèi)绾卫@過登錄界面進(jìn)行爬取呢?

首先我們需要先在瀏覽器中登錄我們的個(gè)人淘寶,然后搜索以書包為例的商品,打開開發(fā)者模式(我使用的是chrome)或者按F12

在這里插入圖片描述

這里我們可以看到我們當(dāng)前的cookie和user-agent(一般是Mozilla/5.0)(注意:如果沒有出現(xiàn)這幾個(gè)name,點(diǎn)擊瀏覽器刷新就會(huì)出現(xiàn)了)

然后在代碼中增加我們的cookie和user-agent

在這里插入圖片描述

然后運(yùn)行

在這里插入圖片描述

我只是個(gè)初學(xué)者,學(xué)的時(shí)候視頻給不了答案,百度了很多,才發(fā)現(xiàn)這個(gè)小技巧,
有問題百度就完事了

完整代碼

import requests
import re


def getHTMLText(url):
 kv = {'cookie':'t=5c749e8d453e7e3664735746f5eb5de8; cna=BrXNFDenbXUCAXggNKX9H1bo; thw=cn; tg=0; enc=5LMRHD8305w3oo8X0agYVFUDa7Ox%2F4RBf34oCWap48nRHy%2B%2B1RZCWZJ7ebn%2Fpy7vRNIL8xpS%2Ba0oNFXG5nSu8w%3D%3D; hng=CN%7Czh-CN%7CCNY%7C156; cookie2=10dbf1309bd9a2d5bc9cabe562965aee; _tb_token_=ee67e1a3ee0e5; alitrackid=www.taobao.com; swfstore=308730; v=0; unb=2448224718; sg=%E6%BB%A18d; _l_g_=Ug%3D%3D; skt=d53506c42f2db259; cookie1=BxUHGXuG%2B5Y4Iw7vZCvjLJ0zDvFL2Xy3mjxT%2FRPtFeA%3D; csg=4246b77f; uc3=vt3=F8dByEzfiHo1%2FUIk8VY%3D&id2=UUwU0bQkq1tYDQ%3D%3D&nk2=CN5OZuI3Xv2%2BlbVX&lg2=W5iHLLyFOGW7aA%3D%3D; existShop=MTU1MDU2MTUyMQ%3D%3D; tracknick=king%5Cu4E36%5Cu5C0F%5Cu4E30%5Cu6EE1; lgc=king%5Cu4E36%5Cu5C0F%5Cu4E30%5Cu6EE1; _cc_=VFC%2FuZ9ajQ%3D%3D; dnk=king%5Cu4E36%5Cu5C0F%5Cu4E30%5Cu6EE1; _nk_=king%5Cu4E36%5Cu5C0F%5Cu4E30%5Cu6EE1; cookie17=UUwU0bQkq1tYDQ%3D%3D; lastalitrackid=login.taobao.com; mt=ci=5_1; x=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0%26__ll%3D-1%26_ato%3D0; uc1=cookie14=UoTZ5OXqJxXKdA%3D%3D&lng=zh_CN&cookie16=W5iHLLyFPlMGbLDwA%2BdvAGZqLg%3D%3D&existShop=false&cookie21=UIHiLt3xThH8t7YQouiW&tag=8&cookie15=UIHiLt3xD8xYTw%3D%3D&pas=0; JSESSIONID=F99B5E66516B99D5E7C9F431E402713F; l=bBNU0zKPvJ9oGfuLBOCNZuI8LN_OGIRYjuPRwCfMi_5B46JhzLQOllv3_FJ6Vj5RsK8B4z6vzNp9-etki; isg=BDg4VI5GkPAaMvx83RJGSPCNCeYKCZ0m9uCVOHKp6XNmjdh3GrU6uo2vQcWY5lQD; whl=-1%260%260%261550562673185',
   'user-agent':'Mozilla/5.0'}
 try:
  r = requests.get(url, headers=kv,timeout=30)
  r.raise_for_status()
  r.encoding = r.apparent_encoding
  return r.text
 except:
  return ""


def parsePage(ilt, html):
 try:
  plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html)
  tlt = re.findall(r'\"raw_title\"\:\".*?\"', html)
  for i in range(len(plt)):
   price = eval(plt[i].split(':')[1])
   title = eval(tlt[i].split(':')[1])
   ilt.append([price, title])
 except:
  print("")


def printGoodsList(ilt):
 tplt = "{:4}\t{:8}\t{:16}"
 print(tplt.format("序號(hào)", "價(jià)格", "商品名稱"))
 count = 0
 for g in ilt:
  count = count + 1
  print(tplt.format(count, g[0], g[1]))


def main():
 goods = '書包'
 depth = 3
 start_url = 'https://s.taobao.com/search?q=' + goods
 infoList = []
 for i in range(depth):
  try:
   url = start_url + '&s=' + str(44 * i)
   html = getHTMLText(url)
   parsePage(infoList, html)
  except:
   continue
 printGoodsList(infoList)


main()

到此這篇關(guān)于python爬蟲爬取淘寶商品比價(jià)(附淘寶反爬蟲機(jī)制解決小辦法)的文章就介紹到這了,更多相關(guān)python爬取淘寶商品內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch torchvision.ImageFolder的用法介紹

    pytorch torchvision.ImageFolder的用法介紹

    今天小編就為大家分享一篇pytorch torchvision.ImageFolder的用法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python制作mysql數(shù)據(jù)遷移腳本

    python制作mysql數(shù)據(jù)遷移腳本

    這篇文章主要為大家詳細(xì)介紹的是使用python寫的mysql數(shù)據(jù)遷移的腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python中virtualenvwrapper安裝與使用

    python中virtualenvwrapper安裝與使用

    本篇文章給大家介紹了python環(huán)境神器virtualenvwrapper安裝與使用,對(duì)此有需要的朋友可以跟著操作一下。
    2018-05-05
  • Python代碼需要縮進(jìn)嗎

    Python代碼需要縮進(jìn)嗎

    在本篇文章里小編給大家整理了關(guān)于Python代碼是否需要縮進(jìn)的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-07-07
  • python如何將多個(gè)PDF進(jìn)行合并

    python如何將多個(gè)PDF進(jìn)行合并

    這篇文章主要為大家詳細(xì)介紹了python如何將多個(gè)PDF進(jìn)行合并,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 最新評(píng)論

    灵宝市| 厦门市| 泗洪县| 黑山县| 德庆县| 贺兰县| 宁化县| 项城市| 东莞市| 宜昌市| 南阳市| 老河口市| 东兴市| 大理市| 六盘水市| 松潘县| 朝阳市| 通州区| 榕江县| 稻城县| 沁阳市| 绥化市| 治多县| 卫辉市| 双江| 华蓥市| 许昌县| 九台市| 高州市| 体育| 蓝山县| 榆中县| 宁化县| 开封市| 思南县| 察哈| 南靖县| 台中县| 洞口县| 清镇市| 青龙|