【酱浦菌-爬虫项目】爬取学术堂宏观经济学论文原文

前言

首先给大家放出完整代码,然后下面就是用jupyter写的代码。实际上在写的时候用的是jupyter写的,因为感觉jupyter写的时候更加的流畅,每一步运行的细节都能保存下来,更方便学习理解。

完整代码:

import os 
import requests
import parsel
import re

url = 'http://www.xueshut.com/bijiaojj/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'
}
response = requests.get(url=url,headers=headers)
response_decoded = response.text.encode('iso-8859-1').decode('gbk')

selector = parsel.Selector(response_decoded)
div = selector.css('div.wz_liebiao ul li p.title')
print("开始导入")
print("--------------------")
for div in div:
    title = div.css('a::attr(title)').get()
    href = div.css('a::attr(href)').get()
    url_lunwen = href
    response_lunwen = requests.get(url=url_lunwen,headers=headers).text.encode('iso-8859-1').decode('gbk')
    selector_lunwen = parsel.Selector(response_lunwen)
    title_lunwen = selector_lunwen.css('title').get()
    keywords_lunwen = selector_lunwen.css('meta[name=keywords]::attr(content)').get()
    content_lunwen = selector_lunwen.css('meta[name=description]::attr(content)').get()
    print(f'开始下载:{title}')
    if not os.path.exists(title):  
        with open(title,'a',encoding='utf-8') as f:
            f.write('\n' + title_lunwen)
            f.write('\n论文关键词:' + keywords_lunwen)
            f.write('\n论文主要内容:' + content_lunwen)
    if os.path.exists(title):  
        with open(title,'a',encoding='utf-8') as f:
            f.write('\n' + title_lunwen)
            f.write('\n论文关键词:' + keywords_lunwen)
            f.write('\n论文主要内容:' + content_lunwen)
    p = selector_lunwen.css('p::text')
    for p in p:
        with open(title,'a',encoding='utf-8') as f:
            f.write('\n' + p.get())

下面是jupyter上面运行的结果:

这里先用encode和decode编码和进行解码,因为直接拿到的响应体是乱码的一个状态

这里先打印论文的相关信息看一下,然后再进行爬取。 

 

这里直接获取论文标题和链接 ,这里先用css选择器选择div标签,css选择器里面标签后面加点,表明的是某个属性的标签。比如说title属性的p标签,wz_liebiao属性的div标签。

 

然后再爬取论文链接的响应体。 

然后就是用with open来写入数据到text文件里面,进行保存。 

项目的整个结构以及爬取的效果如下: 

 

  • 20
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下如何使用 Python 爬虫爬取房产数据并保存到本地。 首先,您需要选择一个合适的网站来进行爬取。例如,可以选择链家网、安居客等房产网站。然后,您需要分析该网站的页面结构和数据请求方式,确定需要爬取哪些数据,以及如何获取这些数据。 接着,您可以使用 Python 的 requests 库来发送 HTTP 请求,获取网页内容。然后,可以使用 BeautifulSoup 库来解析网页内容,提取需要的数据。 最后,您可以使用 Python 的 Pandas 库将数据保存到本地的 Excel 或 CSV 文件中。以下是一个示例代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 发送 HTTP 请求获取网页内容 url = 'https://bj.lianjia.com/ershoufang/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') # 解析网页内容,提取需要的数据 house_list = soup.find_all('div', {'class': 'info'}) data = [] for house in house_list: name = house.find('div', {'class': 'title'}).text.strip() price = house.find('div', {'class': 'price'}).text.strip() area = house.find('div', {'class': 'houseInfo'}).text.strip() data.append([name, price, area]) # 将数据保存到本地文件 df = pd.DataFrame(data, columns=['名称', '价格', '面积']) df.to_excel('house_data.xlsx', index=False) ``` 这是一个简单的示例代码,您可以根据您需要爬取的数据和网站的不同来进行修改和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值