使用requests或urllib库,以及bs4库爬取特定网页内容。不得使用现成的桌面工具爬取内容。 爬取包括: 1、该网站新闻http://gdqy.fanya.chaoxing.com/portal,即从以下入口进去的所有新闻(接近1800条) 2、二级学院“信息技术学院”的新闻。 爬取的新闻内容以及保存方式: 1、爬取的内容 所有新闻只抽取有效的“标题”,“正文”文本内容,以及本新闻的url地址,其他内容忽略。 如下篇新闻 进入此新闻后,红框部分是需要抽取的内容: 2、保存形式 将所有爬取的内容保存到gdqy目录中。 每条新闻保存到一个文件中,文件名以递增数字为文件名,后缀为.txt。比如第一条新闻保存到1.txt,第二条保存到2.txt。 在保存的文件中,第一行为url地址,第二行为标题(如无标题则是空行),第三行及之后是此新闻的正文内容。
时间: 2024-03-19 13:42:04 浏览: 56
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
好的,这是一个比较复杂的爬虫任务。可以分为以下几个步骤:
1. 分析目标网站:通过浏览器的开发者工具查看目标网站的结构,确定需要爬取的信息所在的标签和属性。
2. 使用requests或urllib库获取网页内容:使用requests.get()或urllib.request.urlopen()函数获取目标网站的HTML代码。
3. 使用bs4库解析网页内容:使用bs4库中的BeautifulSoup类将HTML代码解析为一个树形结构,方便我们查找需要的信息。
4. 筛选需要的信息:根据第1步中的分析结果,使用bs4库中的find()、find_all()等方法查找需要的标签和属性,并筛选出需要的信息。
5. 保存爬取的内容:将爬取到的信息按照要求保存到本地。
下面是一个示例代码,仅供参考:
```python
import os
import requests
from bs4 import BeautifulSoup
# 目标网站的URL
url = 'http://gdqy.fanya.chaoxing.com/portal'
# 保存爬取的内容的目录
dir_path = 'gdqy'
if not os.path.exists(dir_path):
os.mkdir(dir_path)
# 获取目标网站的HTML代码
response = requests.get(url)
html = response.text
# 解析HTML代码
soup = BeautifulSoup(html, 'html.parser')
# 爬取所有新闻
news_list = soup.find_all('div', class_='news-list')[0].find_all('li')
for i, news in enumerate(news_list):
# 获取新闻的URL
news_url = news.find('a')['href']
# 获取新闻的标题和正文
news_response = requests.get(news_url)
news_html = news_response.text
news_soup = BeautifulSoup(news_html, 'html.parser')
news_title = news_soup.find('h1').text.strip()
news_content = news_soup.find('div', class_='content').text.strip()
# 将新闻保存到本地
news_file_name = os.path.join(dir_path, f'{i+1}.txt')
with open(news_file_name, 'w', encoding='utf-8') as f:
f.write(news_url + '\n')
f.write(news_title + '\n\n')
f.write(news_content)
```
注意事项:
1. 爬虫的速度要适当控制,不要对目标网站造成过大的负担。
2. 目标网站可能会有反爬虫机制,需要注意避免被封IP。
3. 爬取的内容可能包含敏感信息,需要遵守相关法律法规,不得将爬取的内容用于商业用途或其他违法违规的行为。
阅读全文