日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scrapy-css选择器

發布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scrapy-css选择器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

和xpath選擇器比起來,感覺CSS選擇器容易一些,跟寫.css時方法基本一樣,就是在獲取內容時和xpath不同,這里需要注意一下.

這里介紹如何用css選擇器提取出一篇文章的數據
提取的數據跟xpath那篇文章內容相同
之前xpath中我們獲取元素是通過.entry-header h1::text,如果是屬性則用.entry-header a::attr(href)
介紹一個常用的函數extract_first()
相當于extract()[0],但是extract()[0]當數組沒有元素時,也就是沒有獲取到數據時會出錯,所以用extract_first()方法,也可以加上需要返回的內容,比如空,extract_first("")

title = response.css(".entry-header h1::text").extract_first() #p可以不加 create_date = response.css("p.entry-meta-hide-on-mobile::text").extract()[0].strip().replace('·','').strip() #獲取點贊數 praise_nums = response.css('#110287votetotal::text').extract()[0] #獲取收藏數 fav_nums = response.css('.btn-bluet-bigger.href-style.bookmark-btn .register-user-only::text ').extract()[0].strip() match_re = re.match('.*?(\d+).*',fav_nums) if match_re:#獲取收藏數fav_nums = match_re.group(1) comment_nums = response.css('.btn-bluet-bigger.href-style.hide-on-480::text').extract()[0].strip() match_re = re.match('.*?(\d+).*',fav_nums) if match_re:comment_nums = match_re.group(1) tag_list = response.css('.entry-meta-hide-on-mobile a::text').extract() content = response.css('div.entry').extract()[0] tag_list = [element for element in tag_list if not element.strip().endswith('評論')] tag = ','.join(tag_list)

當我們要選擇的屬性名字有多個時比如下面:


這市在選擇時應該用

post_urls = response.css('#archive .post.floated-thumb .post-thumb a::attr(href)').extract()

也就是.post.floated-thumb應該連起來,或者只寫.floated-thumb
##完整代碼(準)

def parse_detail(self, response):title = response.css(".entry-header h1::text").extract_first()create_date = response.css("p.entry-meta-hide-on-mobile::text").extract()[0].strip().replace("·","").strip()praise_nums = response.css(".vote-post-up h10::text").extract()[0]fav_nums = response.css(".bookmark-btn::text").extract()[0]match_re = re.match(".*?(\d+).*", fav_nums)if match_re:fav_nums = int(match_re.group(1))else:fav_nums = 0comment_nums = response.css("a[href='#article-comment'] span::text").extract()[0]match_re = re.match(".*?(\d+).*", comment_nums)if match_re:comment_nums = int(match_re.group(1))else:comment_nums = 0content = response.css("div.entry").extract()[0]tag_list = response.css("p.entry-meta-hide-on-mobile a::text").extract()tag_list = [element for element in tag_list if not element.strip().endswith("評論")]tags = ",".join(tag_list)pass

總結

以上是生活随笔為你收集整理的Scrapy-css选择器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。