Python数据抓取(3) —抓取标题、时间及链接

本次分享,jacky将跟大家分享如何将第一财经文章中的标题、时间以及链接抓取出来

(一)观察元素抓取位置

@数据分析-jacky

  • 网页的原始码很复杂,我们必须找到特殊的元素做抽取,怎么找到特殊的元素呢?使用开发者工具检视每篇文章的分隔发现都以dl-item做区隔,我们可以知道可以透过dl-item提取一个一个的列表,既然知道我们要存储的位置在 dl-item下,我们就可以把dl-item下的结构拓展出来,我们接下来就可以根据不同的标签取得不同的内容,我们把一个个的dl-item列出来

(二)爬虫撰写

import requests
from bs4 import BeautifulSoup
response = requests.get('http://www.yicai.com/data/')
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text,'html.parser')

for news in soup.select('.dl-item'):
    print(news.select('h3'))

@数据分析-jacky

  • 去掉要抓取内容中的中括号[0]
for news in soup.select('.dl-item'):
    print(news.select('h3')[0])
  • 取得里面的文字内容
for news in soup.select('.dl-item'):
    print(news.select('h3')[0].text)

@数据分析-jacky

  • 抓取a 下的链接,发布来源及发布时间
for news in soup.select('.dl-item'):
    h3 = news.select('h3')[0].text
    a = news.select('a')[0]['href']
    h4 =news.select('h4')[0].text
    print(h4,h3,a)

@数据分析-jacky

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python数据抓取是指使用Python编程语言编写程序来从网页中提取数据的过程。在数据抓取过程中,可以使用多种方法来提取网页数据,包括正则表达式、Beautiful Soup和lxml等。正则表达式是一种强大的文本匹配工具,可以根据特定的模式来搜索和提取数据。使用re.findall方法,可以在字符串中找到与正则表达式匹配的所有子串,并返回一个列表。例如,可以使用re.findall(r'\d+', '123abc456')来提取字符串中的所有数字。 另一种方法是使用Beautiful Soup库,它是一个Python库,用于解析HTML和XML文档,并提供了一种简单灵活的方式来遍历和搜索文档树。使用Beautiful Soup可以通过标签、属性或文本内容来定位和提取网页中的数据。它提供了一些方便的方法,例如find_all和find等,可以根据不同的条件来提取所需的数据。 还有一种数据抓取的方法是使用lxml库,它是一个高效而灵活的Python库,用于处理XML和HTML文档。lxml提供了XPath解析器,可以通过XPath表达式来提取网页中的数据。使用lxml可以快速准确地定位和提取所需的数据,适用于处理大型数据集和复杂的文档结构。 综上所述,Python数据抓取可以使用多种方法,包括正则表达式、Beautiful Soup和lxml等,根据不同的需求选择合适的方法来提取网页数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python数据抓取方式](https://blog.csdn.net/dolly_baby/article/details/126601291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱元禄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值