You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.8 KiB
60 lines
1.8 KiB
import requests
|
|
from bs4 import BeautifulSoup
|
|
hh=[]
|
|
ln=[]
|
|
texts=[]
|
|
url='https://www.autohome.com.cn/hangye/news/'
|
|
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 SLBrowser/9.0.3.5211 SLBChan/128'}
|
|
response=requests.get(url,headers=headers)
|
|
response.encoding=response.apparent_encoding #防出现乱码
|
|
res_text=response.text
|
|
#print(res_text)
|
|
soup=BeautifulSoup(res_text,"lxml")
|
|
sout=soup.select('div.u-list-item>a')
|
|
for i in sout:
|
|
href=i.get('href')
|
|
hh.append(href)
|
|
#print(href)
|
|
for s in hh:
|
|
html="https:"+s #补全网址
|
|
ln.append(html)
|
|
#print(ln)
|
|
for j in ln[:5]:
|
|
#print(j)
|
|
resp = requests.get(j, headers=headers)
|
|
resp.encoding = response.apparent_encoding
|
|
h = resp.text
|
|
#print(h)
|
|
soup1 = BeautifulSoup(h, "lxml")
|
|
soupt1 = soup1.select('div.article-details')
|
|
for cc in soupt1:
|
|
# print(cc)
|
|
for cc1 in cc.select('h1'):
|
|
titl = cc1.text.replace("\r", "").replace("\n", "").replace(" ","")
|
|
texts.append(titl)
|
|
#print(titl)
|
|
for cc5 in cc.select('div.article-info>div'):
|
|
name = cc5.text.replace("\r", "").replace("\n", "").replace(" ","")
|
|
texts.append(name)
|
|
# print(name)
|
|
for cc2 in cc.select('div.article-info>span.time'):
|
|
time = cc2.text.replace("\r", "").replace(" ", "")
|
|
texts.append(time)
|
|
# print(time)
|
|
for cc4 in cc.select('p[data-paraid]'):
|
|
text = cc4.text.replace("\r", "").replace(" ", "").replace("\xa0", "").replace("\u3000", "")
|
|
# print(text)
|
|
texts.append(text)
|
|
#print(texts)
|
|
for x in texts:
|
|
sou=x+'\n'
|
|
ff=open('cc.txt','a',encoding='utf-8')
|
|
ff.write(sou)
|
|
ff.flush()
|
|
|
|
|
|
|
|
|
|
|
|
|