爬蟲(五) 爬取AJAX資源

2021-10-03 17:30:17 字數 1567 閱讀 3025

1、很多網頁資料是由ajax檔案傳送的,並不能從源**直接獲取,這時就需要在f12上用network來找到資源的位址,再爬取資訊。

2、瀏覽器登陸和爬蟲登入頁面時有差別,所以我們需要自己生成乙個使用者**碼。

**如下:

import requests

import re

from lxml import etree

from fake_useragent import useragent

import random

from pandas import dataframe

import pandas as pd

import time

url = ""

uas =

ua = useragent()

for i in range(5):

this_ua = random.choice(uas)

head =

res = requests.get(url,headers = head)

res.encoding = "utf-8"

print(res)

root = etree.html(res.text)

#商品名稱

name = root.xpath('//div[@class="p-name"]/a/em/text()')

for i in range(len(name)):

name[i] = name[i].strip()

print(name)

#獲取商家名稱

shop_name = root.xpath('//div[@class="p-shop"]/@data-shop_name')

print(shop_name)

#獲取全部商品的sku

sku = root.xpath('//li[@class="gl-item"]/div/@data-sku')

price =

comment =

for i in range(len(sku)):

this_sku = sku[i]

priceurl = ""+this_sku

priceres = requests.get(priceurl)

ppat = '"p":"(.*?)"'

this_price = re.findall(ppat,priceres.text)

price = price + this_price

comment_url = "" + this_sku + "&callback=jquery1585803&_=1583747912608"

comment_res = requests.get(comment_url)

cpat = '"commentcount":(.*?),"'

commentcount = re.findall(cpat, comment_res.text)

comment = comment + commentcount

print(price)

print(comment)

爬蟲專欄9 ajax爬取豆瓣

先定位到他的json資料頁面 不同的是他多出了param引數 補上就行,和json差別不大 同時,有些ajax進入後是網頁原始碼,所以需要重新利用正則或者lxml對網頁資訊進行提取,提取方法是一樣的 這個和json動態載入時類似的,但是這個可以利用json也可以利用ajax的param引數進行抓取 ...

爬蟲爬取bilibili

1.根據url傳送請求給伺服器,獲取html文字 2.解析html文字,把需要的資料挑出來 3.從html中解析出超連結,繼續爬取其中的頁面 爬蟲的協議b站的爬蟲協議 尾巴加上 robots.txt 獲取相應的api 控制抓取的頻率 import requests url 發起網路請求 respon...

Python 爬蟲爬取網頁

工具 python 2.7 import urllib import urllib2 defgetpage url 爬去網頁的方法 request urllib.request url 訪問網頁 reponse urllib2.urlopen request 返回網頁 return response...