51job招聘网爬取scrapy
时间: 2023-08-13 14:07:40 浏览: 53
好的,您想了解如何使用Scrapy框架爬取51job招聘网站的招聘信息是吗?以下是简单的爬虫代码示例:
首先,您需要在Scrapy中创建一个新项目:
```
scrapy startproject jobspider
```
然后,在项目目录下创建一个新的spider:
```
cd jobspider
scrapy genspider job 51job.com
```
接着,您需要在spider中定义要爬取的数据字段和要爬取的网页链接:
```python
import scrapy
class JobSpider(scrapy.Spider):
name = "job"
allowed_domains = ["51job.com"]
start_urls = [
"https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html"
]
def parse(self, response):
for job in response.css(".el"):
yield {
"title": job.css(".t1 a::attr(title)").get(),
"company": job.css(".t2 a::text").get(),
"location": job.css(".t3::text").get(),
"salary": job.css(".t4::text").get(),
"date": job.css(".t5::text").get(),
}
next_page = response.css(".bk a:last-child::attr(href)").get()
if next_page is not None:
yield response.follow(next_page, self.parse)
```
在此示例中,我们定义了爬取职位标题,公司名称,工作地点,薪水和发布日期的数据字段。start_urls中包含我们要爬取的初始网址,然后在parse函数中使用css选择器筛选相应的数据,并使用response.follow方法跟进下一页链接。
最后,您可以在命令行中运行以下命令来启动爬虫:
```
scrapy crawl job -o job.csv
```
此命令将爬取51job网站上的所有招聘信息,并将结果保存在名为“job.csv”的文件中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)