怎么偷网站的整套源码分享下来,如何偷别人网站源码还有css

今天给各位分享怎么偷网站的整套源码分享下来的知识,其中也会对如何偷别人网站源码还有css进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:Star_Zhao

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

本次爬取用到的知识点有:

seleniumpymysqlpyquery

正文

分析目标网站

打开某宝首页,输入&34;后点击&34;,则跳转到&34;的搜索界面.空白处&34;再点击&34;审查网页元素,点击&34;.

1)找到对应的URL,URL里的参数正是QueryStringParameters的参数,且请求方式是GET

2)我们请求该URL得到内容就是&34;里的内容,那么点击它来确认信息.

3)下拉看到&34;字样,那么再往下找,并没有发现有关&34;的商品信息.

4)任意复制一个商品信息,空白处右击再点击&34;,在源码查找该商品,即可看到该商品的信息.

5)对比网页源代码和&34;响应内容,发现源代码中的商品信息被替换,这便是采用了JS加密

6)如果去请求上面的URL,得到的则是加密过的信息,这时就可以利用Selenium库来模拟浏览器,进而得到商品信息.

获取单个商品界面

请求网站

从selenium导入浏览器驱动\nbrowser=webdriver.Chrome()39;&39;获取单个页面&39;&34;https://www.xxxxx.com&请求网站\n

输入&34;,在输入之前,需要判断输入框是否存在,如果存在则输入&34;,不存在则等待显示成功.

导入元素定位方法模块\nfromselenium.webdriver.support.uiimportWebDriverWait导入判断条件模块\nbrowser=webdriver.Chrome()\ndefget_one_page():\n&39;&39;&39;\nbrowser.get(&34;)\ninput=WebDriverWait(browser,10).until(34;34;)))34;男装&输入商品名称\n

下一步就是点击&34;按钮,按钮具有属性:可点击,那么加入判断条件.

39;&39;获取单个页面&39;&34;https://www.xxxxx.com&34;34;)))34;男装&等待判断\nEC.element_to_be_clickable((By.CSS_SELECTOR,&J_TSearchForm>div.search-button>button&若按钮可点击,则获取,否则等待\nbutton.click()-*-coding:utf-8-*-\nimportre\nfromseleniumimportwebdriver\nfromselenium.common.exceptionsimportTimeoutException\nfromselenium.webdriver.common.byimportBy\nfromselenium.webdriver.support.uiimportWebDriverWait\nfromselenium.webdriver.supportimportexpected_conditionsasEC\nbrowser=webdriver.Chrome()\ndefget_one_page():\n&39;&39;&39;\nbrowser.get(&34;)\ninput=WebDriverWait(browser,10).until(\nEC.presence_of_element_located((By.CSS_SELECTOR,&q&34;男装&34;34;)))\nbutton.click()\npages=WebDriverWait(browser,10).until(34;34;)))39;__main__&-*-coding:utf-8-*-\nimportre\nfromseleniumimportwebdriver\nfromselenium.common.exceptionsimportTimeoutException\nfromselenium.webdriver.common.byimportBy\nfromselenium.webdriver.support.uiimportWebDriverWait\nfromselenium.webdriver.supportimportexpected_conditionsasEC\nbrowser=webdriver.Chrome()\ndefget_one_page():\n&39;&39;&39;\ntry:\nbrowser.get(&34;)\ninput=WebDriverWait(browser,10).until(\nEC.presence_of_element_located((By.CSS_SELECTOR,&q&34;男装&34;34;)))\nbutton.click()\npages=WebDriverWait(browser,10).until(\nEC.presence_of_element_located((By.CSS_SELECTOR,&mainsrp-pager>div>div>div>div.total&如果超时,继续获取\ndefmain():\npages=get_one_page()\npages=int(re.compile(&34;).findall(pages)[0])39;__main__&34;到第页&34;34;)))输入页码\nbutton=WebDriverWait(browser,10).until(\nEC.element_to_be_clickable((By.CSS_SELECTOR,&mainsrp-pager>div>div>div>div.form>span.btn.J_Submit&若按钮可点击,则获取,否则等待\nbutton.click()34;34;),str(page)))超时,继续请求\nreturnget_next_page(page)\ndefmain():\npages=get_one_page()\npages=int(re.compile(&34;).findall(pages)[0])\nforpageinrange(1,pages+1):\nget_next_page(page)\nif__name__==&39;:\nmain()\n

获取商品信息

首先,判断信息是否加载成功,紧接着获取源码并初始化,进而解析.

需要注意的是,在&34;和&34;中调用之后,才可执行

defget_info():\n&34;&34;&34;\nWebDriverWait(browser,20).until(EC.presence_of_element_located((\nBy.CSS_SELECTOR,&mainsrp-itemlist.items.item&判断商品信息是否加载成功\ntext=browser.page_source初始化网页源码\nitems=html(&mainsrp-itemlist.items.item&采用items方法会得到生成器\nforiteminitems:34;.pic.img&34;data-src&用find方法查找子孙节点,用attr方法获取属性名称\nprice=item.find(&34;).text().strip().replace(&34;,&34;)34;.deal-cnt&34;.title&34;.shop&34;.location&34;&34;存储到数据库&34;&创建数据库连接对象\ndb=pymysql.connect(host=&34;,user=&34;,password=&34;,port=3306,db=&34;,charset=&34;)\n创建数据库\ncursor.execute(&34;.format(&34;))\n34;INSERTINTO{0}values(%s,%s,%s,%s,%s,%s)&34;男装&传入参数sql,data\nifcursor.execute(sql,data):\n34;********已入库**********&34;&回滚,相当什么都没做\ndb.rollback()\n-*-coding:utf-8-*-\nimportre\nimportpymysql\nfromseleniumimportwebdriver\nfromselenium.common.exceptionsimportTimeoutException\nfromselenium.webdriver.common.byimportBy\nfromselenium.webdriver.support.uiimportWebDriverWait\nfromselenium.webdriver.supportimportexpected_conditionsasEC\nfrompyqueryimportPyQueryaspq\nbrowser=webdriver.Chrome()\ndefget_one_page(name):\n&39;&39;&39;\nprint(&34;)\ntry:\nbrowser.get(&34;)\ninput=WebDriverWait(browser,10).until(\nEC.presence_of_element_located((By.CSS_SELECTOR,&q&34;34;)))\nbutton.click()\npages=WebDriverWait(browser,10).until(\nEC.presence_of_element_located((By.CSS_SELECTOR,&mainsrp-pager>div>div>div>div.total&34;—-即将解析第一页信息—-&34;—-第一页信息解析完成—-&34;&34;获取下一页&34;&34;—————————————————正在获取第{0}页—————————————-&34;34;)))\ninput.send_keys(page)\nbutton=WebDriverWait(browser,10).until(\nEC.element_to_be_clickable((By.CSS_SELECTOR,&mainsrp-pager>div>div>div>div.form>span.btn.J_Submit&34;34;),str(page)))\nprint(&34;.format(page))\nget_info(name)\nprint(&34;.format(page))\nexceptTimeoutException:\nreturnget_next_page(page,name)\ndefget_info(name):\n&34;&34;&34;\nWebDriverWait(browser,20).until(EC.presence_of_element_located((\nBy.CSS_SELECTOR,&mainsrp-itemlist.items.item&39;39;).items()\nforiteminitems:\ndata=[]\nimage=item.find(&34;).attr(&34;)\nprice=item.find(&34;).text().strip().replace(&34;,&34;)\ndeal=item.find(&34;).text()[:-2]\ntitle=item.find(&34;).text().strip()\nshop=item.find(&34;).text().strip()\nlocation=item.find(&34;).text()\ndata.append([shop,location,title,price,deal,image])\nfordtindata:\nsave_to_mysql(dt,name)\ndefsave_to_mysql(data,name):\n&34;&34;&34;\ndb=pymysql.connect(host=&34;,user=&34;,password=&34;,port=3306,db=&34;,charset=&34;)\ncursor=db.cursor()\ncursor.execute(&34;.format(name))\nsql=&34;.format(name)\ntry:\nifcursor.execute(sql,data):\ndb.commit()\nprint(&34;)\nexcept:\nprint(&入库失败34;)\ndb.rollback()\ndb.close()\ndefmain(name):\npages=get_one_page(name)\npages=int(re.compile(&34;).findall(pages)[0])\nforpageinrange(1,pages+1):\nget_next_page(page,name)\nif__name__==&39;:\nname=&34;\nmain(name)

好了,关于怎么偷网站的整套源码分享下来和如何偷别人网站源码还有css的问题到这里结束啦,希望可以解决您的问题哈!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平