python 爬蟲系列 真爬

2021-10-06 18:48:04 字數 1660 閱讀 7611

簡單連續爬

import requests

for i in range(1,11):

urls = ''.format(i)

html = requests.get(urls, headers=headers)

print('*'*20)

print(html.text)

pip install bs4

pip install lxml

四大物件種類:tag

返回的是第乙個復合要求的tag,即使有多個

import requests

from bs4 import beautifulsoup

urls = ''.format(1)

html = requests.get(urls, headers=headers)

soup=beautifulsoup(html.text,'lxml')

print(soup.prettify())

print(soup.title.text)

print(soup.head)

print(soup.a)

soup.find_all可以獲得當前tag的所有tag子節點,並判斷是否復合過濾器的條件

print(type(soup.find_all('a')))

for each in soup.find_all('a'):

print(each)

css選擇器:

css選擇器中:

class----> .

id-------->#

屬性----->[ ]

標籤的css選擇方法:

帶有class屬性的: p.class  或 .class

獲取p.para.tag的所有內部標籤(子孫全部): p.para.tag p

獲取p.para.tag的所有內部標籤(僅子輩全部):p.para.tag>p

帶有id的標籤的css選擇器選擇方法:id是獨有的

#only_tag     

在css中div、p的標籤可以省略:

res=soup.select('span.article-title a')

for each in res:

print(type(each))

print(each.text)

也可以:

res=soup.select('.article-summary')

for each in res:

joke=each.select('.article-title')

print(joke[0].text)

獲取標籤屬性:

res=soup.select('span.article-title a')

for each in res:

print(each['href']) #或者print(each.get['href'])

python爬蟲反爬 爬蟲怎麼測試反爬?

有沒有反爬,如果你沒有用爬蟲抓取過,你是不可能知道的。就算要測試,你還要嘗試不同的delay。如果設定的 delay 在 的反爬頻率外,那就測不出來。如果在頻率內,那就被封。或者封ip,或者封賬號。如果一定要測出來,就簡單粗暴的方法,你不要設定delay,就不間斷的抓,最後出現兩種情況,1 有反爬,...

Python爬蟲系列

部落格 python,爬蟲 由於近來學 lan 業 ai 繁 fa 忙 zuo 快乙個月沒有更新部落格了。這周完成了兩門課的結課考試,現下時間開始變得充裕。準備梳理一下前段時間學習的關於python爬蟲的內容,權當複習鞏固知識。而初次學習時遇到的疑難雜症,那時候的應對策略是抓大放下,在這梳理過程會下...

Python 爬蟲爬取網頁

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