python爬取需要登录的网站并获取下载链接进行下载 5C

import requests
from lxml import html
import sys
from you_get import common as you_get
import urllib.request

import urllib.request as urllib2

import re
from urllib import parse
import os
import sys
from you_get import common as you_get #导入you-get库
import urllib
from urllib import request
import requests
from bs4 import BeautifulSoup
import json
from bs4 import BeautifulSoup

from six.moves import urllib

#从登录页面携带cookie进行登录
import urllib.request
url1 = "http://club.dearedu.com/member/index.php"
headers = {'User-Agent': "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1",
'cookie': "__jsluid_h=8e388e30d16bb1e10f73865f9a77e413; UM_distinctid=16bbf9691e24c3-0a6e0f5e007e47-3c604504-1fa400-16bbf9691e33c2; guid=42770979.3940818425674125000.1562312902694.094; Hm_lvt_482d1a083f7aef77357d5a920988d5ac=1562287444,1562334791,1563864719; PHPSESSID=gu3663kt6ao1gh67nbh6d9cqg0; DedeUserID=9058331; DedeUserIDckMd5=63c93468fbe47b82; DedeLoginTime=1563865398; DedeLoginTime__ckMd5=53ce53c6df5208fd; UCenter_username=llabc199262; UCenter_uid=9056889; Example_auth=8b2eRflplt%2FzXmqHdAmQ4QwVNJ14wO1lJNnWLUr9EsZnXAxyIMu%2Fcdi8wB%2B5Zdf%2B; monitor_count=2; Hm_lpvt_482d1a083f7aef77357d5a920988d5ac=1563865400"}
req = urllib.request.Request(url=url1, headers=headers)
response = urllib.request.urlopen(req)
with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.html", 'w', encoding='utf-8') as f:
f.write(response.read().decode('gbk'))

#登录成功后进入相关页面,爬取页面中的下载地址并进行下载
def bCrawler(url):
req = urllib.request.Request(url=url, headers=headers) # 拿出的是字典
response1 = urllib.request.urlopen(req)
# HtmlStr = response1.read().encode('utf-8', 'ignore').replace(u'\0xa3', u'')
HtmlStr = response1.read().decode('utf-8', 'ignore').replace(u'\0xa3', u'')
# print(HtmlStr)
pat = r'zid=(.*?)&price=0" class="layui-btn">'
re_img = re.compile(pat,re.S)
bList = re_img.findall(HtmlStr)
print(bList)
print(len(bList))

for bUrl in bList:
    url5 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=" + bUrl + "&price=0"
    print(url5)
    f1 = requests.get(url5,headers=headers)
    with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.doc","a+") as f:    #encoding="utf-8"
        f.write(f1.content)

url = r"http://s.dearedu.com/?page=2&rows=10&attr_free=1"
for i in range(556, 12204):
url = "http://s.dearedu.com/?page=" + str(i) + "&rows=10&attr_free=1"
print(url)
print(i)
bCrawler(url)

此代码目前存在的问题:登陆成功,下载链接也爬取了,但是下载不了,下载的时候用的f1 = requests.get(url5,headers=headers),也已经带上cookie了,不知道为什么不行,请各位帮忙想想办法,悬赏好说

1个回答

caokaishui
HS_ldy b'\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>\x00\x03\x00\xfe\xff\t\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\xda\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\xdc\x00\x00\x00\x01\x00\x00\x00\xfe\xff\xff\xff\x00\x00\x00\x00\xd8\x00\x00\x00\xd9\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff这个是二进制的吗
12 个月之前 回复
caokaishui
HS_ldy 你好,看了你写的连接后,文件下载下来了,但是打不开,用f2 = urllib.request.urlopen(url=req2).read().decode('gbk')和w写入时就直接文件内容有问题打不开,用f2 = urllib.request.urlopen(url=req2).read()然后用wb写入时候说是文件后缀和文件格式不匹配
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
爬取需要登录的网站,登陆之后跳转到下载页面,获取下载链接并下载,现在问题是登录了但是下载不了

# https://blog.csdn.net/weixin_39695028/article/details/80299078 import requests from lxml import html import sys from you_get import common as you_get import urllib.request # import urllib.request as urllib2 import re from urllib import parse import os import sys from you_get import common as you_get #导入you-get库 import urllib from urllib import request import requests from bs4 import BeautifulSoup import json from bs4 import BeautifulSoup from six.moves import urllib # postData={ # 'userid': 'llabc199262', # 'pwd': 'llabc199262' # } # session_requests = requests.session() # login_url = "http://club.dearedu.com/member/index.php" # result = session_requests.get(login_url) # result = session_requests.post( # login_url, # data = postData, # headers = dict(referer=login_url) # ) import urllib.request url1 = "http://club.dearedu.com/member/index.php" headers = {'User-Agent': "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1", 'cookie': "__jsluid_h=8e388e30d16bb1e10f73865f9a77e413; UM_distinctid=16bbf9691e24c3-0a6e0f5e007e47-3c604504-1fa400-16bbf9691e33c2; __guid=42770979.3940818425674125000.1562312902694.094; Hm_lvt_482d1a083f7aef77357d5a920988d5ac=1562287444,1562334791,1563864719; PHPSESSID=gu3663kt6ao1gh67nbh6d9cqg0; DedeUserID=9058331; DedeUserID__ckMd5=63c93468fbe47b82; DedeLoginTime=1563865398; DedeLoginTime__ckMd5=53ce53c6df5208fd; UCenter_username=llabc199262; UCenter_uid=9056889; Example_auth=8b2eRflplt%2FzXmqHdAmQ4QwVNJ14wO1lJNnWLUr9EsZnXAxyIMu%2Fcdi8wB%2B5Zdf%2B; monitor_count=2; Hm_lpvt_482d1a083f7aef77357d5a920988d5ac=1563865400"} req = urllib.request.Request(url=url1, headers=headers) response = urllib.request.urlopen(req) with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.html", 'w', encoding='utf-8') as f: f.write(response.read().decode('gbk')) # url2 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=5408682&price=0" # url3 = "https://dl.glzy8.com/upfiles/soft/2019/0527/jijianhuisefenggongzuojihuazongjiehuibaopptmb.rar" # req1 = urllib.request.Request(url=url3, headers=headers) # response1 = urllib.request.urlopen(req1) # with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.html", 'w') as f: # f.write(response1.read().decode('gbk', 'ignore').replace(u'\0xb1', u'')) # f.write(response1.read().decode('gbk', 'ignore').replace(u'\0xe7', u'')) 麻烦大神帮忙看看,http://club.dearedu.com/member/index.php是一个教育网站,我用cookie登录网站之后获取了下载链接,但是下载不了文件 # toPath = r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网" # try: # for k in range(5408682,1000000000000): # url1 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=" + str(k) +"&price=0" # print(url1) # sys.argv = ['you-get', '-o', toPath, url1] # you_get.main() # except: # pass def bCrawler(url): req = urllib.request.Request(url=url, headers=headers) # 拿出的是字典 response1 = urllib.request.urlopen(req) # HtmlStr = response1.read().encode('utf-8', 'ignore').replace(u'\0xa3', u'') HtmlStr = response1.read().decode('utf-8', 'ignore').replace(u'\0xa3', u'') # print(HtmlStr) pat = r'zid=(.*?)&price=0" class="layui-btn">' re_img = re.compile(pat,re.S) bList = re_img.findall(HtmlStr) print(bList) print(len(bList)) # try: for bUrl in bList: url5 = "http://club.dearedu.com/member/down_gb_iweike.php?zid=" + bUrl + "&price=0" print(url5) f1 = requests.get(url5,headers=headers) with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.doc","a+") as f: #encoding="utf-8" f.write(f1.content) # urllib.request.urlretrieve(url5,r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\sina.docx",data=headers) # except: # pass # with open(r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网\a.docx","w") as f: #encoding="utf-8" # f.write(HtmlStr) #url中如果有中文字符必须进行解码 url = r"http://s.dearedu.com/?page=2&rows=10&attr_free=1" # toPath = r"D:\SW file\pycharm file\400集\爬虫\教育文档\第二教育网"#image文件夹必须先建立 # bCrawler(url, toPath) num = 0 for i in range(556, 12204): url = "http://s.dearedu.com/?page=" + str(i) + "&rows=10&attr_free=1" print(url) print(i) bCrawler(url) # 此代码目前存在的问题:登陆成功但是不能下载

python初学 爬取网站的子网页获取标题

想要获取所有子网页的标题,但是为什么只有一小部分标题获取成功,而大部分都为空??(url可以全部得到) 代码如下 ``` # -*- coding: utf-8 -*- import scrapy from scrapy.http import Request from tutorial.items import TutorialItem class herbSpider(scrapy.Spider): name = 'herbalism' allowed_domins = ['pharmnet.com'] start_urls = ['http://www.pharmnet.com.cn/tcm/knowledge/ycrs/'] def parse(self, response): url_list = response.xpath('//td[@height="22"]/a[@target="_blank"]/@href').extract() for url in url_list: yield Request(url,callback=self.parse_name) for i in range(1,10): page_url = 'http://www.pharmnet.com.cn/tcm/knowledge/ycrs/index{}.html'.format(i) yield Request(page_url,callback=self.parse) def parse_name(self,response): items = TutorialItem() items['title'] = response.xpath('//font[@color="#300901"]/h1/text()').extract() items['link'] = response.url yield items ``` : 运行结果: ![图片说明](https://img-ask.csdn.net/upload/201708/02/1501671274_728164.png) 求教,谢谢!

python爬取动态网址时如何获取发送的参数

有个网址是动态的,我需要爬取的数据存储在json数据格式中, 这个用json模块读取没毛病, 但是存在这么一个问题,就是向这个数据url提交访问请求时, 有加密的参数,比如queryID,serverIP,status这三个参数,删去这几个参数去访问是被对方服务器禁止的, 而且通过正常浏览器访问的话,这个页面会在一分钟左右失效不可访问 去找cookies,没在cookies中找到与这三个参数有关联,我没法构造出这个数据页面的url 想问问各位大牛,向某个网站请求的时候,这些动态的参数一般会存储在哪里?怎么获取这种动态添加的参数? 感激不尽! ![图片说明](https://img-ask.csdn.net/upload/201704/06/1491487040_282833.png) ![图片说明](https://img-ask.csdn.net/upload/201704/06/1491487055_236999.png)

Python 如何爬取相同url下,多个页面的链接内容

Python 如何爬取相同url下,多个页面的链接内容,最好附代码看下

想用python 爬取一个网页上面的图片,初学者不太知道如何入手。

请教要实现爬取图片这个目的,大体的步骤应该是什么。用什么模块更方便一些?大体的框架应该是什么样

如何用python编写爬虫,爬取谷歌学术镜像网站论文的参考文献数据?

以某篇论文搜索结果为例,[论文链接](https://cc.glgoo.top/scholar?cites=4177867987374784226&as_sdt=2005&sciodt=0,5&hl=zh-CN "") 对该链接搜索结果中的论文,点击下方引号(引用),对于出来的参考文献格式如何用python爬虫爬取?

Python爬取小说 有些章节爬得到有些爬不到 分别爬取都是可以的

``` # -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests, sys import csv server = 'http://www.biqukan.com/' target = 'http://www.biqukan.com/1_1094/' names = [] # 存放章节名 urls = [] # 存放章节链接 def get_download_urls(): req = requests.get(url=target) html = req.text bf = BeautifulSoup(html, 'html.parser') div = bf.find('div', class_='listmain') dl = div.find('dl') dd = dl.find_all('dd') for each in dd[15:]: names.append(each.string) urls.append(server + each.find('a').get('href')) def get_contents(u): req = requests.get(url=u) html = req.text bf = BeautifulSoup(html, 'html.parser') texts = bf.find_all('div',{'id': 'content'},class_ = 'showtxt') if len(texts)>0: final = texts[0].text.replace('\xa0' * 8, '\n\n') else: final='' return final def writer( name, path,text): write_flag = True with open(path, 'a', encoding='utf-8') as f: fieldnames = ['title'] writefile = csv.DictWriter(f, fieldnames=fieldnames) writefile.writerow({'title': name+'\n'+text}) if __name__ == "__main__": url=get_download_urls() for i in range(len(names)): writer(names[i], '一念永恒.txt', get_contents(urls[i])) ``` 就是 get_contents(u) 函数里为啥有的texts长度会等于0呢,单独爬这一个页面的时候texts是有内容的呀

小白请教高手,python爬取数据遇到js隐藏div怎么办

请教一下,我最近想在政府房管部门网站爬取房产备案信息,地址:http://www.dyyscx.com/newhouse/house_table.aspx?id=828279 每个楼盘表下有个“查看”链接,点击后就会在原页面生成新的备案内容。 这一部分内容使用元素检查是可以看见的,但查看源代码却看不见。 使用network查看XHR发现有个文件“GetBuildTableByAjax.ashx”,这里面的preview中就有相关信息。 截取片段是这样的: ``` 物业类别:住宅 销售状态:抵预 建筑面积:117.260平米 总价:71.65万元' class='border-333333'>3单元&nbsp;3-25-1</td><td width='95' height='30' style='cursor:hand;cursor:point;' bgcolor='#FDDFAB' Title='物业类别:住宅 销售状态:抵预 建筑面积:89.730平米 总价:53.89万元' class='border-333333'>3单元&nbsp;3-25-2</td><td width='95' height='30' style='cursor:hand;cursor:point;' bgcolor='#FDDFAB' Title='物业类别:住宅 销售状态:抵预 建筑面积:120.870平米 总价:70.87万元' class='border-333333'>3单元 ``` 我看了下,原网页head里面有一段Scirpt,内容是这样的: ``` <script type="text/javascript"> function GetData(item, bulid) { var heightobj = document.body.scrollHeight; var widthobj = document.body.scrollWidth; $("div.overdiv").css("width", widthobj).css("height", heightobj).css("left", "0").css("top", "0").show(); //获得显示的位置 var height = document.body.scrollTop + document.documentElement.scrollTop; widthobj = (document.body.clientWidth - 199) / 2; heightobj = (document.documentElement.clientHeight - 60) / 2 + height; //显示该div $("div.select").css("left", widthobj).css("top", heightobj).show(); $.post("GetBuildTableByAjax.ashx", { itemRecord: item, houseCode: bulid }, function (data) { document.getElementById("BuildTable").innerHTML = data; $("div.select").hide(); $("div.overdiv").hide(); }); } </script>' ``` 因为是小白,所以猜想是js隐藏了新内容的标签,导致不在原网页的源代码中显示,所以爬不到内容。 请教一下我猜想的是否正确,以及我要怎么才能获得备案信息的内容。 ps:最好是能贴个完整的方法,谢谢!!!!!!!!!

python3 爬取https指向的图片链接 问题

初学python爬虫部分,昨天动手做了做爬取网页图片并且下载的小程序。 发现网页中有的图片可以被下载并且保存在本地,有的却不能。 查看了下网页代码原来可以被爬取的是 <img src="http://...jpg|png|gif"> 而不能被爬取的是<input src='https://.......'> 用urllib包好像处理不了 请问如何解决 ---------------------------------------- 附上程序报错提示 Traceback (most recent call last): File "D:\Python34\lib\urllib\request.py", line 1182, in do_open h.request(req.get_method(), req.selector, req.data, headers) File "D:\Python34\lib\http\client.py", line 1088, in request self._send_request(method, url, body, headers) File "D:\Python34\lib\http\client.py", line 1126, in _send_request self.endheaders(body) File "D:\Python34\lib\http\client.py", line 1084, in endheaders self._send_output(message_body) File "D:\Python34\lib\http\client.py", line 922, in _send_output self.send(msg) File "D:\Python34\lib\http\client.py", line 857, in send self.connect() File "D:\Python34\lib\http\client.py", line 1231, in connect server_hostname=server_hostname) File "D:\Python34\lib\ssl.py", line 365, in wrap_socket _context=self) File "D:\Python34\lib\ssl.py", line 583, in __init__ self.do_handshake() File "D:\Python34\lib\ssl.py", line 810, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\py_practice\pachong_rumen_1024.py", line 45, in <module> bytes = urllib.request.urlopen(url); File "D:\Python34\lib\urllib\request.py", line 161, in urlopen return opener.open(url, data, timeout) File "D:\Python34\lib\urllib\request.py", line 463, in open response = self._open(req, data) File "D:\Python34\lib\urllib\request.py", line 481, in _open '_open', req) File "D:\Python34\lib\urllib\request.py", line 441, in _call_chain result = func(*args) File "D:\Python34\lib\urllib\request.py", line 1225, in https_open context=self._context, check_hostname=self._check_hostname) File "D:\Python34\lib\urllib\request.py", line 1184, in do_open raise URLError(err) urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>

用Python爬取豆瓣电影链接,为何爬下来的链接总是重复出现两次

from urllib.request import urlopen from bs4 import BeautifulSoup import re html = urlopen("https://movie.douban.com/") bsobj = BeautifulSoup(html) for titles in bsobj.findAll("li",{"class":"title"}): print(titles.get_text()) for link in bsobj.findAll("a",href = re.compile("https://movie.douban.com/subject/.*/?from=showing")): if 'href' in link.attrs: print(link.attrs['href']) ``` ``` ![图片说明](https://img-ask.csdn.net/upload/201907/08/1562574134_470876.png)

<python>python爬取智联json页面,但是爬回来的数据不全?

1.智联一页有大概100条数据,但是爬回来只有20条 代码: ![图片说明](https://img-ask.csdn.net/upload/201905/07/1557194839_124865.png) https://img-ask.csdn.net/upload/201905/07/1557194839_124865.png 主函数: ![图片说明](https://img-ask.csdn.net/upload/201905/07/1557194939_248256.png) depth是爬取的页数,1页的时候只能在数据库看到20条记录,当把depth改成10的时候可以看到1000条信息,但是之后depth再增加(如改成20,30等)数据也不会再增加了,一直是1000条信息 ![图片说明](https://img-ask.csdn.net/upload/201905/07/1557195117_222005.png) 我觉得不是存储的问题,因为第一个爬取的函数返回来的页面就已经少了,只有20条,麻烦帮忙看一下这个爬取函数有什么问题,谢谢啦

python爬取云音乐列表却解析不出数据

最近跟着网上教程初学着用python爬取页面,于是就想试着扒一扒自己网易云音乐歌单的歌曲,想把歌单里歌曲的链接曲名这些全部爬出来 def getPage(): url = 'http://music.163.com/#/m/playlist?id=75411989' r = requests.get(url) page = r.text print page pattern = re.compile(r'<a href="/song?id=(.*)>(.*)</a>') #网页审查元素的结果是<a href="/song?id=30148760"><b title="Jackrabbit">Jackrabbit</b></a> items = re.findall(pattern,page) print items for item in items: print item 但是解析网页后发现根本解析不出歌曲id或名称,原因是否是我正则表达式不对呢? 然后借用网上找到的匹配链接的正则 pattern2 = re.compile(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')") 得到了这样的结果 /song?id=${x.id} javascript:; /album?id=${x.album.id} javascript:; /album?id=${x.album.id} /song?id=${x.id} javascript:; 想问一下前辈们这个无法解析的原因,另外能否用beafulsoup得到结果呢?(歌曲信息链接似乎在非常子层的div中,感觉用bs4很复杂啊)

python爬取淘宝评论返回内容是登录信息

import requests url='https://rate.tmall.com/list_detail_rate.htm?itemId=35648967399&spuId=226460655&sellerId=1809124267ℴ=3¤tPage=1&append=0&content=1&tagId=&posi=&picture=&ua=011UW5TcyMNYQwiAiwQRHhBfEF8QXtHcklnMWc%3D%7CUm5OcktyT3ZCf0B9Qn9GeC4%3D%7CU2xMHDJ7G2AHYg8hAS8WKAYmCFQ1Uz9YJlxyJHI%3D%7CVGhXd1llXGVYYVVoV2pVaFFvWGVHe0Z%2FRHFMeUB4QHxCdkh8SXJcCg%3D%3D%7CVWldfS0RMQ47ASEdJwcpSDdNPm4LNBA7RiJLDXIJZBk3YTc%3D%7CVmhIGCUFOBgkGiMXNwswCzALKxcpEikJMwg9HSEfJB8%2FBToPWQ8%3D%7CV29PHzEfP29VbFZ2SnBKdiAAPR0zHT0BOQI8A1UD%7CWGFBET8RMQszDy8QLxUuDjIJNQA1YzU%3D%7CWWBAED4QMAU%2BASEYLBksDDAEOgA1YzU%3D%7CWmJCEjwSMmJXb1d3T3JMc1NmWGJAeFhmW2JCfEZmWGw6GicHKQcnGCUdIBpMGg%3D%3D%7CW2JfYkJ%2FX2BAfEV5WWdfZUV8XGBUdEBgVXVJciQ%3D&isg=82B6A3A1ED52A6996BCA2111C9DAAEE6&_ksTS=1440490222698_2142&callback=jsonp21 content=requests.get(url).content print(content) 返回的不是用浏览器看到的样子,而是一个登录的连接,我用浏览器模拟反问就是超时,请问这是什么问题

python天气历史数据爬取提问

我想爬取天气网站的信息 (http://lishi.tianqi.com/)。这网站不需要登入。里面有多个城市链接与多个月份可选择。我如何爬取所有城市的所有历史数据? 城市网站代码片段如下: ![图片说明](https://img-ask.csdn.net/upload/201906/21/1561085070_965961.png) 我现在能想到是BeautifulSoup,Request,re, mysql库。 如何自动提取所有城市信息并存储呢,还是需要其他库进行辅助? 请教大神

python爬取CNKI关键词怎么翻页?

首页的关键词爬取下来了,但是每个关键词内还有关键词不会翻页。 这是url:http://define.cnki.net/WebForms/WebDefault.aspx 然后有提示怎么搞翻页,我是新手,搞不懂。 这是提示: 首先获取所有学科类别,按照学科爬取 * 因为虽然学科不同,但是页面相似,因此猜测url中某个参数控制请求道德具体页面。因此先观察每个学科的请求链接 \[地球与空间科学]: http:/\/define.cnki.net/WebForms/WebNavigationContent.aspx?name=地球与空间科学 \[电子]:http:/\/define.cnki.net/WebForms/WebNavigationContent.aspx?name=电子 ..... 观察到name参数后的值影响具体学科,因此只需要构造请求链接: ```python subjectName = "学科名" url = "http:/\/define.cnki.net/WebForms/WebNavigationContent.aspx?name=" + subjectName ``` 即可打开不同学科页面。 因此我们可以将所有学科名字存入一个列表中,再使用迭代器,迭代学科列表即可访问不同学科的学术名词 首页爬取的代码如下:

python爬取某宝产生的问题

爬取当前页与第二页的数据相同 ``` import requests import re import os #获取商品页面 def requestUrl(url): try: # 设置userAgent headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36","Cookie":"xx"} response = requests.get(url, headers=headers,timeout=5) # 查看返回状态 response.raise_for_status() response.encoding = response.apparent_encoding htmlText = response.text return htmlText except: print("error") #查找关键词 def getTheText(text,ulist): if(len(ulist)!=0): ulist=[] jiaGeRepx=re.compile(r'\"view_price\"\:\"[\d\.]*\"') nameRepx=re.compile(r'\"raw_title\"\:\".*?\"') jiaGeList = jiaGeRepx.findall(text) nameList = nameRepx.findall(text) for i in range(len(nameList)): try: name = eval(nameList[i].split(":")[1]) jiaGe = eval(jiaGeList[i].split(":")[1]) ulist.append([name,jiaGe]) except: name = nameList[i].split(":")[1] jiaGe = jiaGeList[i].split(":")[1] ulist.append([name, jiaGe]) count=0 ##将结果输出到文件 def formatText(ulist,shenDu): jieGuo="" biaoDaShi = "{0:^9}\t{1:^50}\t{2:^9}\r\n" if (shenDu==0): xuHao = "序号" shangPin = "商品" jiaGe="价格" jieGuo = biaoDaShi.format(xuHao,shangPin,jiaGe) for tag in ulist : global count count+=1 xuHao = str(count) shangPin = tag[0] jiaGe = str(tag[1]) jieGuo += biaoDaShi.format(xuHao,shangPin,jiaGe) dstUrl = 'D://商品.txt' with open(dstUrl, 'a') as f: f.write(jieGuo) f.close def main(): uinfo = [] shangPin = "书包" shenDu=2 for i in range(shenDu): htmlText = requestUrl("https://s.某宝.com/search?q="+shangPin+"&s="+str(44*i)) getTheText(htmlText,uinfo) formatText(uinfo,i) if __name__ == '__main__': main() ``` url中的&s=44代表第二页 ``` https://s.某宝.com/search?q=书包=3&ntoffset=3&p4ppushleft=1%2C48&s=44 ``` 结果 文件重复写入page1

python 爬取网页的时候 如何获得网页上面XHR的文件。

如题![图片说明](https://img-ask.csdn.net/upload/201904/25/1556200779_218864.png)

Python 爬虫如何获取onclick(非url链接)之后网页?

Python 爬虫如何获取onclick里面内容,不需要用selenium 模拟点击,而是直接获得哦你click返回参数?具体比如说 https://www.tripadvisor.com/ShowUserReviews-g57592-d416577-r357988112-The_Ivy_Inn_Restaurant-Charlottesville_Virginia.html#REVIEWS Tripadvisor 网站,crawl的时候我需要点击next 刷新界面 <a data-page-number="2" data-offset="4" href="/ShowUserReviews-g57592-d416577-r357988112-The_Ivy_Inn_Restaurant-Charlottesville_Virginia.html#or5" class="nav next rndBtn ui_button primary taLnk" onclick=" ta.trackEventOnPage('STANDARD_PAGINATION', 'next', '2', 0); ">Next</a> 但是这个next 执行之后url从 https://www.tripadvisor.com/ShowUserReviews-g57592-d416577-r357988112-The_Ivy_Inn_Restaurant-Charlottesville_Virginia.html#or0 变成 https://www.tripadvisor.com/ShowUserReviews-g57592-d416577-r357988112-The_Ivy_Inn_Restaurant-Charlottesville_Virginia.html#or05 就是 从 xxx#or0 变成 xxx#or5 也就是说是只是改变了hashtag, scrapy 的request 是只能获取hashtag之前的url,无法区分第一页和第二页。 所以我就想知道,如何能crawl这个页面,并且继续crawl下一个界面。 非常感谢修改

webdriver进一步爬取京东商品信息

各位大佬好: 刚接触python,想用webdriver实现爬取京东商品信息,举个例子:在京东首页搜索 手机 会显示许多商品结果,我想在搜索出来的基础(商品价钱,商品链接,商品店铺链接)上根据这个“商品店铺链接”进一步爬取这个店铺里面的信息, 请问我的思路是否可行(不一定非要用webdriver),如果可行能否指导下怎么进入这个商品店铺链接 悬赏可以修改这是我的代码: ``` from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # noinspection SyntaxError def get_good(driver): try: # 通过JS控制滚轮滑动获取所有商品信息 js_code = ''' window.scrollTo(0,5000); ''' driver.execute_script(js_code) # 执行js代码 # 等待数据加载 time.sleep(2) # 3、查找所有商品div # good_div = driver.find_element_by_id('J_goodsList') good_list = driver.find_elements_by_class_name('gl-item') n = 1 for good in good_list: # 根据属性选择器查找 # 商品链接 good_url = good.find_element_by_css_selector( '.p-img a').get_attribute('href') # 商品名称 good_name = good.find_element_by_css_selector( '.p-name em').text.replace("\n", "--") # 商品价格 good_price = good.find_element_by_class_name( 'p-price').text.replace("\n", ":") # 评价人数 good_commit = good.find_element_by_class_name( 'p-commit').text.replace("\n", " ") # 店铺连接 #try: shop_url = good.find_element_by_css_selector( '.p-shop a').get_attribute('href') #except OSError: pass # 店铺名称 #try: shop_name = good.find_element_by_css_selector( '.p-shop a').get_attribute('title') #except OSError: pass good_content = f''' 商品链接: {good_url} 商品名称: {good_name} 商品价格: {good_price} 评价人数: {good_commit} 店铺名称: {shop_url} 店铺连接: {shop_name} \n ''' #qianjian = '旗舰店' #if qianjian in shop_name: # print('旗舰店不要') #else: print(good_content) with open('jd.txt', 'a', encoding='utf-8') as f: f.write(good_content) next_tag = driver.find_element_by_class_name('pn-next') next_tag.click() # except AttributeError: # pass # raise Exception("a must not be zero") time.sleep(2) # 递归调用函数 get_good(driver) time.sleep(10) finally: driver.close() if __name__ == '__main__': good_name = input('请输入爬取商品信息:').strip() driver = webdriver.Firefox() #driver.implicitly_wait(10) # 1、往京东主页发送请求 driver.get('https://www.jd.com/') # 2、输入商品名称,并回车搜索 input_tag = driver.find_element_by_id('key') input_tag.send_keys(good_name) input_tag.send_keys(Keys.ENTER) time.sleep(2) get_good(driver) ``` ps:环境:python3.7 需要引入下浏览器驱动,我用的火狐(45.0.2)引入的驱动是:geckodriver-v0.15.0

软件测试入门、SQL、性能测试、测试管理工具

软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、

计算机组成原理实验教程

西北工业大学计算机组成原理实验课唐都仪器实验帮助,同实验指导书。分为运算器,存储器,控制器,模型计算机,输入输出系统5个章节

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

winfrom中嵌套html,跟html的交互

winfrom中嵌套html,跟html的交互,源码就在里面一看就懂,很简单

玩转Python-Python3基础入门

总课时80+,提供源码和相关资料 本课程从Python零基础到纯Python项目实战。内容详细,案例丰富,覆盖了Python知识的方方面面,学完后不仅对Python知识有个系统化的了解,让你从Python小白变编程大牛! 课程包含: 1.python安装 2.变量、数据类型和运算符 3.选择结构 4.循环结构 5.函数和模块 6.文件读写 7.了解面向对象 8.异常处理

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:itxy41)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

基于VHDL的16位ALU简易设计

基于VHDL的16位ALU简易设计,可完成基本的加减、带进位加减、或、与等运算。

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

利用Verilog实现数字秒表(基本逻辑设计分频器练习)

设置复位开关。当按下复位开关时,秒表清零并做好计时准备。在任何情况下只要按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。 设置启/停开关。当按下启/停开关后,将

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

计算机操作系统 第三版.pdf

计算机操作系统 第三版 本书全面介绍了计算机系统中的一个重要软件——操作系统(OS),本书是第三版,对2001年出版的修订版的各章内容均作了较多的修改,基本上能反映当前操作系统发展的现状,但章节名称基

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

SEIR课程设计源码与相关城市数据.rar

SEIR结合学报与之前博客结合所做的一些改进,选择其中三个城市进行拟合仿真SEIR结合学报与之前博客结合所做的一些改进,选择其中三个城市进行拟合仿真SEIR结合学报与之前博客结合所做的一些改进,选择其

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

定量遥感中文版 梁顺林著 范闻捷译

这是梁顺林的定量遥感的中文版,由范闻捷等翻译的,是电子版PDF,解决了大家看英文费时费事的问题,希望大家下载看看,一定会有帮助的

GIS程序设计教程 基于ArcGIS Engine的C#开发实例

张丰,杜震洪,刘仁义编著.GIS程序设计教程 基于ArcGIS Engine的C#开发实例.浙江大学出版社,2012.05

人工智能-计算机视觉实战之路(必备算法+深度学习+项目实战)

系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

去除异常值matlab程序

数据预处理中去除异常值的程序,matlab写成

用verilog HDL语言编写的秒表

在秒表设计中,分模块书写。用在七段数码管上显示。输入频率是1KHZ.可以显示百分秒,秒,分。如要显示小时,只需修改leds里的代码和主模块代码。改程序以通过硬件电路验证。完全正确。

[透视java——反编译、修补和逆向工程技术]源代码

源代码。

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问