网页抓取qq(网络爬虫抓取某年腾讯新闻内容 )

优采云 发布时间: 2022-03-27 14:01

  网页抓取qq(网络爬虫抓取某年腾讯新闻内容

)

  网络爬虫爬取某年腾讯新闻内容

  时间:2020-03-21

  本期文章将介绍网络爬虫抓取某年腾讯新闻内容,主要包括网络爬虫抓取某年腾讯新闻内容的用例、应用技巧、基础知识点总结及注意事项年份,有一定的参考价值,有需要的朋友可以参考。

  首先,要获取网页的代码,首先将其安装为函数

  def getHTMLText(url):

try:

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

r.raise_for_status()

#r.encoding = 'utf-8'

return r.text

except:

return ""

  在chrome浏览器中,直接进入新闻后,右击话题,勾选定位到话题所在的html代码,如下图

  然后你会在标签中看到,它的上层标签是div,而class="hd",BeautifulSoup提供了一个CSS选择器,直接调用select方法即可

  所以代码可以写成

  def getContent(url):

html = getHTMLText(url)

# print(html)

soup = BeautifulSoup(html, "html.parser")

title = soup.select("div.hd > h1")

print(title[0].get_text())

time = soup.select("div.a_Info > span.a_time")

print(time[0].string)

author = soup.select("div.qq_articleFt > div.qq_toolWrap > div.qq_editor")

print(author[0].get_text())

paras = soup.select("div.Cnt-Main-Article-QQ > p.text")

for para in paras:

if len(para) > 0:

print(para.get_text())

print()

  完整的源代码

  #此代码主要是从给定腾讯新闻网页中爬取新闻的题目,时间,正文,作者

import requests

from bs4 import BeautifulSoup

def getHTMLText(url):

try:

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

r.raise_for_status()

#r.encoding = 'utf-8'

return r.text

except:

return ""

def getContent(url):

html = getHTMLText(url)

# print(html)

soup = BeautifulSoup(html, "html.parser")

title = soup.select("div.hd > h1")

print(title[0].get_text())

time = soup.select("div.a_Info > span.a_time")

print(time[0].string)

author = soup.select("div.qq_articleFt > div.qq_toolWrap > div.qq_editor")

print(author[0].get_text())

paras = soup.select("div.Cnt-Main-Article-QQ > p.text")

for para in paras:

if len(para) > 0:

print(para.get_text())

print()

#写入文件

fo = open("text.txt", "w+")

fo.writelines(title[0].get_text() + "\n")

fo.writelines(time[0].get_text() + "\n")

for para in paras:

if len(para) > 0:

fo.writelines(para.get_text() + "\n\n")

fo.writelines(author[0].get_text() + '\n')

fo.close()

#将爬取到的文章用字典格式来存

article = {

'Title' : title[0].get_text(),

'Time' : time[0].get_text(),

'Paragraph' : paras,

'Author' : author[0].get_text()

}

print(article)

def main():

url = "http://news.qq.com/a/20170504/012032.htm"

getContent(url);

main()

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线