爬取新聞列表

2022-08-22 23:27:12 字數 3818 閱讀 7967

獲取單條新聞的#標題#鏈結#時間#**#內容 #點選次數,幷包裝成乙個函式。

獲取乙個新聞列表頁的所有新聞的上述詳情,幷包裝成乙個函式。

獲取所有新聞列表頁的**,呼叫上述函式。

完成所有新聞的爬取。

import

requests

from bs4 import

beautifulsoup

res = requests.get('

')res.encoding='

utf-8

'soup = beautifulsoup(res.text,'

html.parser')

for news in soup.select('li'

):

if len(news.select('

.news-list-title

'))>0:

title=news.select('

.news-list-title

')[0].text

url=news.select('

a')[0]['

href']

time=news.select('

.news-list-info

')[0].contents[0].text

dt=datetime.strptime(time,'

%y-%m-%d')

source=news.select('

.news-list-info

')[0].contents[1].text

resd=requests.get(url)

resd.encoding='

utf-8

'soupd=beautifulsoup(resd.text,'

html.parser')

print(time,title,url)

import

requests

from bs4 import

beautifulsoup

from datetime import

datetime

gzccurl = '

'res =requests.get(gzccurl)

res.enconding='

utf-8

'soup = beautifulsoup(res.text,'

html.parser')

for news in soup.select('li'

):

if len (news.select('

.news-list-litle

'))>0:

title = news.select('

.news-list-title

')[0].text

url = news.select('

a')[0]['

href']

time = news.select('

.news-list-info

')[0].contents[0].text

dt = datetime.strptime(time,'

%y-%m-%d')

source = news.select('

.news-list-info

')[0].contents[1].text

resd=requests.get(url)

resd.encoding='

utf-8

'soupd = beautifulsoup(read.text,'

html.parser')

detail = soupd.select('

.show-content

')[0].text

click = requests.get('

').text.split('

.')[-1].lstrip(html(''

))

print

(click)

break

import

requests

import

refrom bs4 import

beautifulsoup

def getclick(newurl): #

id=re.search('

_(.*).html

',newurl).group(1).split('

/')[1]

clickurl='

'.format(id)

click=int(requests.get('

').text.split('

.')[-1].lstrip("

html('

").rstrip("

');"

))

return

click

def getonepages(eveylisturl): #

res=requests.get(eveylisturl)

res.encoding='

utf-8

'soup=beautifulsoup(res.text,'

html.parser')

for news in soup.select('li'

):

if len(news.select('

.news-list-title

'))>0:

title=news.select('

.news-list-title

')[0].text #

標題 url=news.select('

a')[0]['

href

']#**

time=news.select('

.news-list-info

')[0].contents[0].text#

時間 bumen=news.select('

.news-list-info

')[0].contents[1].text#院系#

txt=news.select('.news-list-description')[0].text #正文

resd=requests.get(url)

resd.encoding='

utf-8

'soupd=beautifulsoup(resd.text,'

html.parser')

detail=soupd.select('

.show-content

')[0].text #

獲取正文

count=getclick(url) #

呼叫函式獲得文章的點選次數

print

(title,count)

gzcc='

'#函式開頭

res=requests.get(gzcc)

res.encoding='

utf-8

'soup=beautifulsoup(res.text,'

html.parser')

n=int(soup.select('

.a1')[0].text.rstrip('條'

))pages=n//10+1 #

計算多少條多少頁

for i in range(2,5):

pagesurl='

{}.html

'.format(i)

getonepages(pagesurl)

爬取新聞列表

獲取單條新聞的 標題 鏈結 時間 內容 點選次數,幷包裝成乙個函式。獲取乙個新聞列表頁的所有新聞的上述詳情,幷包裝成乙個函式。獲取所有新聞列表頁的 呼叫上述函式。完成所有校園新聞的爬取工作。完成自己所選其他主題相應資料的爬取工作。import requests import refrom bs4 i...

爬取新聞列表

import requests import re from bs4 import beautifulsoup url res requests.get url res.encoding utf 8 soup beautifulsoup res.text,html.parser n int soup...

爬取網易新聞

爬取網易新聞 在本小節的內容中呢,筆者將會給大家講述如何去過濾我們所不需要的內容。下面的例子,是本人在爬取網易新聞時,遇到的乙個小問題,在定位元素之後,進行列印的時候,出現了部分內容無法正常解析。筆者也是進行了很長時間的嘗試,請教了很多人,才得到的三種方法。我們一起來看。通過寫入檔案的方法過濾元素 ...