|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 mudern 于 2020-8-8 19:08 编辑
如题,python新人,刚学爬虫找个网页试手,就是js动态链接生成,(但还是用requests搞了点东西),距离上次发求助帖,弄了好久的selenium也没弄清楚如何获取js生成的动态链接(上次贴子https://fishc.com.cn/thread-176878-1-1.html)
网上找到的selenium爬取js动态生成链接的,也没有太看懂,求大佬指点指点
小白写的破烂代码,关于selenium部分的........
(勿喷..............)
driver=webdriver.Firefox()
get_=driver.get("http://www.mangabz.com/m19894/")
#element = driver.find_element_by_xpath("//*[@id='cp_image']")
html=driver.page_source
刚刚发完这个贴子,又去翻了一遍html,终于找到链接了(2天了,终于),那就问问大佬们的bs,xpath和正则是怎么学的,有什么好的视频或者资料分享吗???
本帖最后由 Stubborn 于 2020-8-9 22:46 编辑
[img]http://image.mangabz.com/1/430/19894/4_3147.jpg?cid=19894&key=40b7dead39f489ec4b0c2212e793b1f2&uk=
[img]http://image.mangabz.com/1/430/19894/5_4982.jpg?cid=19894&key=40b7dead39f489ec4b0c2212e793b1f2&uk=
[img]http://image.mangabz.com/1/430/19894/6_2343.jpg?cid=19894&key=40b7dead39f489ec4b0c2212e793b1f2&uk=
这都是一条条chiluo的图片链接呀,最主要就是每个链接的变化怎么来的,抓包发现是一个js生成的。
js的请求链接参数以及响应:
- http://www.mangabz.com/m19894/chapterimage.ashx?cid=19894&page=8&key=&_cid=19894&_mid=430&_dt=2020-08-09+21%3A46%3A28&_sign=2c617649c5b75aefa56a28c91cd6ad1c
复制代码
- class mangabz:
- url = "http://image.mangabz.com/1/430/19894/{}" # {}缺少页码编号
- jpg_params = {
- "cid": "19894",
- "key": "40b7dead39f489ec4b0c2212e793b1f2",
- "uk": ""
- }
- ajax_api = "http://www.mangabz.com/m19894/chapterimage.ashx?"
- api_params = {
- "cid": "19894",
- "page": "0",
- "key": "",
- "_cid": "19894",
- "_mid": "430",
- "_dt": "2020-08-09 21:46:28",
- "_sign": "2c617649c5b75aefa56a28c91cd6ad1c"
- }
- def get_nex_page(self, page):
- # 根据页码,获取当前页码的编号,以及下一个页码的编码
- self.api_params["page"] = page
- response = requests.get(self.ajax_api, params=self.api_params)
- pages = re.findall("\d{1,2}_\d{4,5}", response.text)
- self.pt_jpg_url(pages)
- def pt_jpg_url(self, pages):
- on, next = pages
- print(self.url.format(on))
- print(self.url.format(next))
- if __name__ == '__main__':
- t = mangabz()
- t.get_nex_page(1)
复制代码
|
|