爬取中国知网 正则
本帖最后由 wcq15759797758 于 2021-7-6 10:57 编辑中国知网专利库的精彩推荐{:10_254:}
import requests# 网络请求模块
import time,random # 时间模块
import re
from bs4 import BeautifulSoup
class Crawl():
def __init__(self):
# 创建头部信息
self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36',
'Referer': 'https://www.zhihu.com/',}
def get_json(self,json_url):
response = requests.get(json_url, headers=self.headers)
soup = BeautifulSoup(response.text, 'lxml')
Name = re.findall('"Name":"(.*?)",',response.text)
Unit = re.findall('"Unit":"(.*?)",',response.text)
Title = re.findall('"FileTitle":"(.*?)",',response.text)
Date = re.findall('"PublishDate":"(.*?)",',response.text)
for li1, li2, li3, li4 in zip(Name, Unit, Title, Date):
item = {}
item['name'] = li1
item['Unit'] = li2
item['Title'] = li3
item['Date'] = li4
print(item)
if __name__ == '__main__':
json_url ='https://recsys.cnki.net/RCDService/api/RecSysOpenApi/Papers?idenID=&clientID=3210408220706642159&userIP=&platformURL=kns.cnki.net%2Fkns8%40%2FKNS8&productID=SCDB'
c = Crawl()# 创建爬虫类对象
text = c.get_json(json_url)
从页面返回的响应中找到了 json_url 感谢分享 优秀 大佬厉害 牛逼 大佬码住 厉害厉害,我也想学爬虫,但是感觉有点难{:5_104:} 深谙流年 发表于 2021-7-5 23:05
厉害厉害,我也想学爬虫,但是感觉有点难
不会不会很简单 wcq15759797758 发表于 2021-7-5 23:06
不会不会很简单
如果靠爬虫找工作的话是不是很难呢 深谙流年 发表于 2021-7-5 23:07
如果靠爬虫找工作的话是不是很难呢
那你得会数据分析 wcq15759797758 发表于 2021-7-5 23:09
那你得会数据分析
唉,感觉转行it靠白嫖好难{:5_104:} 深谙流年 发表于 2021-7-5 23:10
唉,感觉转行it靠白嫖好难
爬虫深入也很难 对网页架构的了解 前端知识 wcq15759797758 发表于 2021-7-5 23:13
爬虫深入也很难 对网页架构的了解 前端知识
唉,感觉腰掌握一个技能就得掌握其他的好多技能,难 啊 感谢分享 看看 兄弟,不是要打击你,我有几个小问题需要说说
1.此url接收get请求,但是不需要认证,说明他是对外的显示的,即说明很大概率他不会做UA验证,即使我拿着python的识别去访问,依然可以
2.通过url你访问到了各个论文的简短介绍,你能继续访问到各个对应链接的文章内容吗?如果不能,他是拿session,还是token哪种方式去验证用户的
3.其次就是你写的那个time.sleep(),我不是很明白,你在main函数中,都没有使用循环,那在最后写一个时间等待函数有什么用呢? 西瓜味的苹果 发表于 2021-7-6 08:28
兄弟,不是要打击你,我有几个小问题需要说说
1.此url接收get请求,但是不需要认证,说明他是对外的显示的 ...
格式没改 wcq15759797758 发表于 2021-7-6 10:51
格式没改
文章内容只要找出url格式
https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&dbname=CJFDLAST2021&filename=CWYJ202006009
CJFDCJFDLAST2021CWYJ202006009这三个参数换一下就好了 哈哈哈哈 {:5_95:}.
页:
[1]