人亦已歌 发表于 2023-6-24 20:13:04

百度爬虫是什么 Python3百度爬虫教程有哪些

<div>
        <h1>
                实现目标:爬取百度百科上python词条页面上的所有词条。
        </h1>
        <p>
                目标分析:
        </p>
        <p>
                编写函数get_urls()爬取python词条页面上的所有词条的url,得到url后再用get_page()函数爬取该词条的页面内容,我们的目标是获得每个词条页面上的标题和简介内容,然后将爬取下来的信息利用pandas库保存到csv文件中。
        </p>
        <div>
                <img class="aligncenter size-full wp-image-57556" src="https://www.teamczyx.com/article/1603798687.jpg" width="760" height="427" alt="百度爬虫是什么 Python3百度爬虫教程有哪些" title="百度爬虫是什么 Python3百度爬虫教程有哪些" />&nbsp;
                <p>
                        <br />
                </p>
        </div>
        <p>
                有需要Python学习资料的小伙伴吗? 小编整理一套Python资料和PDF,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦
        </p>
        <p>
                具体分析:
        </p>
        <p>
                选择第一个词条计算机程序设计语言时可以看到&lt;a target=”_blank” href=”/item/计算机程序设计语言″&gt;计算机程序设计语言&lt;/a&gt;,因为每个词条的链接前面部分都是https://baike.baidu.com/item/,所以我们要获得item/后面的部分,再拼接成该词条的url。
        </p>
        <p>
                对于每个词条,我们要爬取它的标题和简介内容,就要获取页面上的&lt;h1&gt;元素和&lt;meta name=”description”&gt;元素,都可以利用正则表达式进行匹配。
        </p>
        <div>
                <img class="aligncenter size-full wp-image-57557" src="https://www.teamczyx.com/article/1603798688.png" width="760" height="368" alt="百度爬虫是什么 Python3百度爬虫教程有哪些" title="百度爬虫是什么 Python3百度爬虫教程有哪些" />&nbsp;
                <p>
                        <br />
                </p>
        </div>
        <p>
                代码实现:
        </p>
<pre># 爬取Python百度百科词条
import requests
import re
import pandas as pd
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 "
"Safari/537.36"
}
title_list = []
description_list = []
def get_urls(url):
hrefs = []
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
data = re.findall(r'&lt;a target=_blank href="/item/(.*?)"&gt;', res.text)
for i in data:
hrefs.append("https://baike.baidu.com/item/" + i)
for href in hrefs:
if '"' in href:
href = href[:href.index('"')]
get_page(href)
def get_page(url):
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
t = re.search(r'&lt;h1 &gt;(.*?)&lt;/h1&gt;', res.text)
title = t.group().lstrip('&lt;h1 &gt;').rstrip('&lt;/h1&gt;').strip()
d = re.search(r'name="description" content="(.*?)"', res.text)
description = d.group().lstrip('name="description" content="').rstrip('"').strip()
title_list.append(title)
description_list.append(description)
if __name__ == '__main__':
url = "https://baike.baidu.com/item/Python/407313?fr=aladdin"
get_page(url)
get_urls(url)
infos = {'title': title_list, 'description': description_list}
data = pd.DataFrame(infos, columns=['title', 'description'])
data.to_csv("Python词条.csv")
print("爬取成功!")
</pre>
</div>
<div>
        <div>
        </div>
        <div>
                <div>
                </div>
        </div>
</div>
页: [1]
查看完整版本: 百度爬虫是什么 Python3百度爬虫教程有哪些