简介
“你是否曾因Selenium爬虫的环境配置问题而困扰?是否曾为寻找一款无需复杂环境配置,又能轻松实现爬虫任务的工具而苦恼?现在,你的困扰即将成为过去! 有人说,只要执行力强,没有办不到的。但我们也清楚,程序员那些繁琐的插件,如ChromDriver等,不仅需要匹配版本,还要安装Chrome浏览器,这无疑增加了我们的工作难度。那么,有没有一种办法,既能让我们轻松编写爬虫代码,又能避免繁琐的环境配置呢? 答案是肯定的!我们为你准备了一个简单易用的解决方案,只需轻轻一点,gdp就会为你生成一段适应性强、兼容性好的爬虫代码,你可直接拿来使用,无需额外安装任何软件。
今天就是来拯救你的【不过python环境还是必须的】 那么我们,action
声明:本案例最终可以实现爬取几乎大部分平台,如下案例只是作为参考,换了网站只需要更换提示词和文件,而非此前生财案例中的爬取部分平台/本地文件,但也仅作参考使用,请勿用于非法用途
步骤
1,下载目标页的内容
这一步看起来不聪明,主要是为了读取结构,毕竟我们小白并不懂什么网页结构,也听不懂专业术语,我就给你 我的目标网页,剩下的我就不管了
ctrl+s就可以直接保存该网页文件到本地,这里最好就保存到固定本地某个盘(c/d),方便后面上传
![图片[1]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-10.png)
2,上传对应的网页文件并给gpt喂提示词
①上传文件
记得是html
![图片[2]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-2.png)
![图片[3]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-5.png)
②投喂提示词
{}内的内容需要更换为我们的哈(这里是历程,下面有完整提示词)
我通过访问如下链接:{目标链接复制过来} 得到了我需要的关键词{aigc}的网页,其内容如文件 我希望你能够通过案例知道爬取的内容结构 并制作一个针对该网页的分页的python爬虫脚本,可以自定义搜索内容,并最终生成一个我给你的例子格式的表格
例子如下: 其中我以第二条内容为例, 标题:{AIGC:我不是元宇宙的附庸品} 链接:{这里直接右键有个复制链接} 来源:{雷峰网} 时间:{2022-11-17}
要求:
1.使用python和request 2.网站URL:weixin.sogou.com 3.输入关键字 [AIGC] 4.爬取标题、链接、来源,时间 5.抓取前2页的内容 6.爬取的结果输出到Excel文件中
7.你只需要返回如上要求的代码即可 8.记得通过使用该文件的html内容测试一下
![图片[4]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-9.png)
如上内容也直接在目标页进行复制即可,根据你需要的字段进行复制和命名,这里的灵活度也比较高,比如你可以再加一个简略内容等
我们的最终效果应该如下:
![图片[5]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-6.png)
但是这次测试之后,我建议加上两个指标,一个是我们想要爬取的页数,即固定一下我们爬取多少页;一个是给爬取完一页后加一个缓冲,避免频繁爬虫导致的反爬,后续你们直接把如下代码加在程序后面即可。当然如果你对定制有自己的想法,也可以直接加在上面【如果你希望你的爬虫程序更稳定持续,加上:11.增加适量的伪装以应对反爬虫】
9.初始爬取页数为3 10.爬取完一页后休眠5秒
③完整提示词
(所有{}内的内容需要自己进行选择/更改,然后删除{}):
我通过访问如下链接:{目标链接复制过来} 得到了我需要的关键词aigc的网页,其内容如文件,我希望通过该案例制作一个该内容的爬虫
我希望你能够通过案例知道爬取的内容结构 并制作一个针对该网页的分页(前两页即可)的python爬虫脚本,可以自定义搜索内容,并最终生成一个我给你的例子格式的表格
例子如下:
其中我以第二条内容为例,
标题:{AIGC:我不是元宇宙的附庸品}
链接:{这里直接右键有个复制链接}
来源:{雷峰网}
时间:{2022-11-17}
要求:
1.使用python和request
2.网站URL:{weixin.sogou.com}
3.关键字为AIGC,该关键字在程序中为一个变量
4.爬取{标题、链接、来源,时间}
5.抓取前{2}页的内容
6.爬取的结果输出到Excel文件中
7.你只需要返回如上要求的代码即可
8.记得通过使用该文件的html内容测试一下
9.爬取完一页后休眠5秒
10.增加适量的伪装以应对反爬虫
出了bug?没关系,他会自动帮你把bug修复了
![图片[6]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-3.png)
3,获取代码并执行
最终得到如下代码
import requests
from bs4 import BeautifulSoup
import pandas as pd
def fetch_articles(keyword, pages=2):
base_url = "https://weixin.sogou.com/weixin"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
all_articles = []
for page in range(1, pages + 1):
params = {
'type': '2',
'query': keyword,
'page': page
}
response = requests.get(base_url, params=params, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
articles = soup.find_all("h3")
for article in articles:
title = article.a.text.strip()
link = article.a['href']
details_section = article.find_next_sibling('div')
source = details_section.find('span', class_='all-time-y2').text.strip()
time_text = details_section.find('span', class_='s2').text.strip()
all_articles.append((title, link, source, time_text))
return all_articles
def save_to_excel(data, filename="articles.xlsx"):
df = pd.DataFrame(data, columns=["Title", "Link", "Source", "Time"])
df.to_excel(filename, index=False)
return filename
# Example usage:
# articles = fetch_articles("aigc", pages=2)
# save_to_excel(articles)
不过最后两行执行的代码他给注释掉了,我们记得打开
本地新建一个main.py文件(新建txt改名就行),复制粘贴到里面,win+r输入cmd回车,然后进入对应的目录,比如我的是d盘,直接 d:,然后 python main.py
![图片[7]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-1.png)
执行结果
python执行结果如下:
![图片[8]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-8.png)
bug修复
时间并没有出现,但是其他数据已经获取到了,那么我们让他给我们对时间的处理上简单的处理
![图片[9]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-4.png)
最终成果
运行之后的结果如下:
![图片[10]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image.png)
![图片[11]-使用ChatGPT小白也能轻松爬虫,无需一行代码!-AI资源库 - 人工智能学习资料和深度学习工具一站式下载](https://5ai99.com/wp-content/uploads/2024/01/image-7.png)
如果你不知道自己需要安装那些包以及如何安装的话,也可以直接问gpt4
完整代码
完整代码如下:
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
import re
import datetime
def fetch_articles(keyword, pages=3):
base_url = "https://weixin.sogou.com/weixin"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
}
all_articles = []
for page in range(1, pages + 1):
params = {
'type': '2',
'query': keyword,
'page': page
}
response = requests.get(base_url, params=params, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
articles = soup.find_all("h3")
for article in articles:
title = article.a.text.strip()
link = article.a['href']
details_section = article.find_next_sibling('div')
source = details_section.find('span', class_='all-time-y2').text.strip()
time_script = details_section.find('span', class_='s2').script.string
timestamp_match = re.search(r"timeConvert\('(\d+)'\)", time_script)
if timestamp_match:
timestamp = int(timestamp_match.group(1))
formatted_time = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d')
else:
formatted_time = "N/A"
all_articles.append((title, link, source, formatted_time))
time.sleep(3)
return all_articles
def save_to_excel(data, filename="articles1.xlsx"):
df = pd.DataFrame(data, columns=["Title", "Link", "Source", "Time"])
df.to_excel(filename, index=False)
return filename
# To use the script:
results_path = save_to_excel(fetch_articles("AIGC"))
print(f"Results saved to: {results_path}")
暂无评论内容