Advertisement
azizkhelifi

Untitled

May 15th, 2023
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.90 KB | None | 0 0
  1. def get_curl_request(mpn):
  2. x = f"curl -L 'https://www.digikey.com/en/products/result?keywords={mpn}' \\"
  3. headers = """
  4. -H 'authority: www.digikey.com' \
  5. -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  6. -H 'accept-language: en,en-US;q=0.9' \
  7. -H 'cache-control: no-cache' \
  8. -H 'cookie: dk_ot_ctry=no; pf-accept-language=en-US; ping-accept-language=en-US; TS01c02def=01460246b607d4698f36e971f648b4b08d92d65ea0e155070122d38577537bf19838d7df279515a674affed6653239c1e52fc08055; TS0178f15d=01460246b607d4698f36e971f648b4b08d92d65ea0e155070122d38577537bf19838d7df279515a674affed6653239c1e52fc08055; TS01cba742=01460246b62538d41ae22cde3355e72fa7941fcfa747a6c30422dae9401509632fc107471b32c0eb9f5383d7d9b8edd2404eed11c4; TS01737bf0=01460246b62538d41ae22cde3355e72fa7941fcfa747a6c30422dae9401509632fc107471b32c0eb9f5383d7d9b8edd2404eed11c4; TS01d47dae=01460246b6fa5de0cd177b42a1c37f6b7b07dbae554febd5fa58f6a9ccb8ac1be69c58aa1548d42e7b9390d92180fff7a879e99ea9; TS019f5e6c=01460246b6542d94c312d60df52e712af975b948f9418c4de285d8248b6c79048fb5ccbb06fd9b45acac0fa4f4e804b806c330108c; website#lang=en-US; TS0198bc0d=01460246b6087762f82ce1cab024a7c41d1c111b874c4800a5fd9551a11ce08606f0a562c4fb757640725f3d1a3450f78eba4d3658; TS016ca11c=01460246b6fa5de0cd177b42a1c37f6b7b07dbae554febd5fa58f6a9ccb8ac1be69c58aa1548d42e7b9390d92180fff7a879e99ea9; TSc580adf4027=08374f23c1ab2000e4df77f3c00ccb9f30b7cfd4097df9cb4c9b4e415698970d2a55c0a21846874108eafa0aa5113000b63680677264efd3ea44d69574840cce69a2561d90494c6a94b30c8208f387a9550b2eba828730a4213fb18037180595; ai_user=95smAjJjC9EBjGJ3+9D0+k|2023-05-12T21:30:05.905Z; ak_bmsc=DD3BE194A93CEF585FB7C7E826805DA0~000000000000000000000000000000~YAAQFV+MTwHZ6A2IAQAAu/veERM2aJH6/gyA1J+7Q6Mmg/FNmpBPUbcERWvXhTYoVtTWmy4Rharelmi3e15aGhHEUeZ0OAV0Us3z3WA83TUb/fBFSlpijworPTcNYJQl2foOw8L4uafG+b3mLrt8Wv3DG+Wo4nIwrgj0+l3ma65Q2RadQjrX9Y2NXgVFbq5RA/14hHPNObBLHntVTflML6S0CtpLzR7QLQTzuZhKvBvB8BefZg2Ylrs4clWSH/sn+tgt60KlxU4eKWkjIqfIbeA0K2cOCgWpJkutNn/2RXimufdpMI+WxLLUyRGhqMTWquyfnVVdg4u6sm0CXk/GZwEEUrTUYfOURU8hZ749+T8G7onoH4D1TrwOBrWCY43RSIr4xxK2b6kp/KbTSghvvFRLwI3BQw==; EG-U-ID=C8e830fe88-cce9-4562-a361-5ef81dac066a; EG-S-ID=C31365e63e-0929-4fd6-8ae0-b33fc207b4ef; __ssid=edbe786e560f5711830fb57516bebb1; search=%7B%22usage%22%3A%7B%22dailyCount%22%3A1%2C%22lastRequest%22%3A%222023-05-12T21%3A34%3A07.258Z%22%7D%2C%22version%22%3A1%7D; _cs_mk=0.6613353701443503_1683927263890; _ga=GA1.2.2141052145.1683927264; _gid=GA1.2.758465230.1683927264; _gcl_au=1.1.1127599647.1683927266; _cs_c=0; ln_or=eyI5NjYwMTciOiJkIn0%3D; _evga_542b=6cd54ef462bfc1e9.; _abck=EE22367D75D0439098F6AEE28761085A~0~YAAQFV+MT4LA6Q2IAQAAvgvrEQkx/XZfA5ays+1IChk5RhqmkBviuGpDsaNnhGSprWWOZs9Z+U44+ARwXA+k5iAB3yzsJquBpH0yZOYvzgBJI75gvl+g754AupTesMtnyNsqWjc9OnV4S0GxyMV1Wx6KtzUpFvdFC0vPiYTCDStEyb7I4x2VYdU+MyMlW2tMkLBDVjuErLk6ALiWF5TzLZJtXdNYrRmMC0SlUQP/+C565DFOm8ndkeEeOm9+XzFV0P7xjo2K8we2gVSzN8L81bT4kaj3AQ9V4C8SxepZwMC4yLHQ91FXItfKXQqgjYhUHhVXs3HYAy4dPf4MYdwoL7bsMVv7rnALi6SZpwHd4oJNae+7prSabdjOJ2sAS65AQrRZJyy+Mmr10xZiiQQnsTDp2gTcmD1ZMw==~-1~-1~-1; bm_sz=3459CA172AC24644538C44910CC5A47E~YAAQFV+MT4PA6Q2IAQAAvgvrEROhdrNv/A0+e0YHQED+yrACmcMx++XKmYXsZtdFmo7Om+usd+/NLDahBjjPJlbvi24pqX/YvfFNjGQyPrDSN8V3BaUR5iql0Kn2p1XR4wHUMzMdXJEBH9BSlmrKC9lvUYuE4L1D0Z6XLxFgpYQesoVUpNevKIbcTKND0Lz0a57t1rPchScsGNpeSBZDptX1+l1fqZsNVCtRJD9Q6qGErzBVR0sVi8lHcLBvAFSt+v1V3i/5/Bv63VNFQ/OYdEO5gDpCYHsE6dD5hJD79Ri+Be868Bg0HrsJP1qYvEoKL/ZmCJPnR8FmTc8=~3425585~4539202; TS01173021=01f9ef228d44e1677592b27a3dcefe6a2b80564b889ada6cfd2f2446361ae5ecab7f7662d181403ef1e1d463cefe4df068fd8056dc; TScaafd3c3027=08205709cbab20003fd2ff14943f28b7643b747024990f48f6fd39f17a31dfd4cc520291db64706408820d31fc1130003264152159e5394a9b23ff8036770f0c1c8cc807f53fee476e2455357ae0e1e4dcb33c749fed43eec9eea60eb82aebdb; bm_sv=09CDFEF7719BF6644CB849EDAA595CA7~YAAQFV+MTwEU6g2IAQAA01vwEROfuHJO5e3sF08bThgb6B7DRVbxRmRzAkYW08bbnvaC3+hm823CMDys1aRiZ6X7OAeq1a/MoMZkVvtj7WpyOU9Vm3igXhWmoJMs/FQtGI+YjAsjQv62E4RnedAPl6DNFGzEWZpK70I3NbpMRYhex3V1aAGIs+amVyjc7z2tk4dioPIMg6GCBYs07t97lRs13sCOOZe+pbuljjxpbQU5SmqodIcr9sEpdp59Qxn714I=~1; ai_session=MwbZxqxSOD27K5o5c5+ddx|1683927005918|1683928144981; utag_main=v_id:018811defb6e0053b7f41949b75c0506f008006700bd0$_sn:1$_se:10$_ss:0$_st:1683929945099$ses_id:1683927006064%3Bexp-session$_pn:8%3Bexp-session; _uetsid=c5155640f10c11ed80412baf12dd7d69; _uetvid=c515e660f10c11edae4a6fb2403e7fa3; _cs_cvars=%7B%221%22%3A%5B%22Page%20Title%22%2C%22No%20Results%20Found%22%5D%2C%222%22%3A%5B%22Page%20Site%22%2C%22US%22%5D%2C%223%22%3A%5B%22Page%20Type%22%2C%22PS%22%5D%2C%224%22%3A%5B%22Page%20Sub%20Type%22%2C%22SR%22%5D%2C%225%22%3A%5B%22Page%20Content%20Group%22%2C%22Part%20Search%22%5D%2C%226%22%3A%5B%22PageContentSubGroup%22%2C%22Keyword%20Search%22%5D%2C%227%22%3A%5B%22Page%20ID%22%2C%22SR%22%5D%2C%228%22%3A%5B%22Page%20Language%22%2C%22en%22%5D%2C%229%22%3A%5B%22Search%20No%20Results%22%2C%22True%22%5D%2C%2210%22%3A%5B%22Customer%20Dimension%22%2C%22%7B%7D%22%5D%2C%2212%22%3A%5B%22Part%20Substitutes%22%2C%22False%22%5D%2C%2215%22%3A%5B%22Page%20State%22%2C%22No%20Results%22%5D%2C%2216%22%3A%5B%22L1%20cat%22%2C%22Connectors%2C%20Interconnects%22%5D%2C%2218%22%3A%5B%22Search%22%2C%22EAC06FSLN%3Fs%3DN4IgTCBcDa4JxjABgCwFoDMIC6BfIA%22%5D%7D; _cs_id=21aa3ff1-d5f6-ae31-e7df-e2c3e911cf17.1683927266.1.1683928145.1683927266.1.1718091266399; _cs_s=7.5.0.1683929945719; dkc_tracker=3615740737169; _dd_s=rum=0&expire=1683929429033' \
  9. -H 'pragma: no-cache' \
  10. -H 'sec-ch-ua: "Google Chrome";v="113", "Chromium";v="113", "Not-A.Brand";v="24"' \
  11. -H 'sec-ch-ua-mobile: ?0' \
  12. -H 'sec-ch-ua-platform: "Windows"' \
  13. -H 'sec-fetch-dest: document' \
  14. -H 'sec-fetch-mode: navigate' \
  15. -H 'sec-fetch-site: none' \
  16. -H 'sec-fetch-user: ?1' \
  17. -H 'upgrade-insecure-requests: 1' \
  18. -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36' \
  19. --compressed
  20. """
  21. return x + headers
  22.  
  23. def get_curl_url(url):
  24. x = f"curl '{url}' \\"
  25. headers = """
  26. -H 'authority: www.digikey.com' \
  27. -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  28. -H 'accept-language: en-US,en;q=0.9' \
  29. -H 'cache-control: max-age=0' \
  30. -H 'cookie: dk_ot_ctry=no; dk_ot_ctry=no; search=%7B%22usage%22%3A%7B%22dailyCount%22%3A1%2C%22lastRequest%22%3A%222023-05-15T21%3A18%3A47.258Z%22%7D%2C%22version%22%3A1%7D; ai_user=pu+FqeRA5768PMOS0ej82D|2023-05-15T21:18:47.260Z; ai_session=uDaQKaJqfNtFQPSTf3829J|1684185527260|1684185527260; EG-U-ID=E0a07aad31-3ed4-494b-b3ef-c848b08e31da; EG-S-ID=B4e68d6c70-f890-4521-bf69-7be2a516f472; website#lang=en-US; TS0198bc0d=01460246b665276250f02d278c1e9eb1b146a54f9c2d48cbf15e68a77e0e3697733c046623b248f409f85fd99197689b2d35c20e2c; TS016ca11c=01460246b61f92debf76148b32ceff7a3b6d9fafba326058c42aee2aa47e781e8ddecec59b60d469780c69f2df87b56b88ff143185; pf-accept-language=en-US; ping-accept-language=en-US; TS01c02def=01460246b647609c4f191c038d821d4b7a0ffe304f8669185d1c6aeed5a563cfc19cb3e2b566339f197a8db3bf15f0b254b0946feb; TS0178f15d=01460246b647609c4f191c038d821d4b7a0ffe304f8669185d1c6aeed5a563cfc19cb3e2b566339f197a8db3bf15f0b254b0946feb; TS01cba742=01460246b6b8aa1fb4d076c72b0e7ef5543b7d4dee8bbf8a1683c3a0992fabffeeb6a5a2f4e97dd6126dd8f60b81f4b021d1b4e1b6; TS01737bf0=01460246b6b8aa1fb4d076c72b0e7ef5543b7d4dee8bbf8a1683c3a0992fabffeeb6a5a2f4e97dd6126dd8f60b81f4b021d1b4e1b6; TS01d47dae=01460246b61f92debf76148b32ceff7a3b6d9fafba326058c42aee2aa47e781e8ddecec59b60d469780c69f2df87b56b88ff143185; TSc580adf4027=08374f23c1ab2000ec26e5869c7d72131915324035b600e7c179c2a922db376495ec145505a1ef9608a5484849113000705b57ebcf08af32c146205d5d171715bc268a735fbeb3bee58865344a889f216e9e5e60f801c3d55f7f83217afed2a1; ak_bmsc=14B3CA5E0E08FBA97BC9CA80B33E8218~000000000000000000000000000000~YAAQFV+MT4qfox2IAQAAD8VHIRMd392Xm0sApY9E937ygPIU/r63sE83cxkAdBPjK3YpmAdIcXNIayegoTqfsg2zWfK2xuKjkz0h2uPiS/aFrpkak3QzlrQhE3YsZoI8dBiFI53E94IxIr13hfRJpBF5fvQa04NBhKGKkENm9ZFE/hGiDTox3F0oF3sfPP54n9YJC4Kb8lGIUwnCZT6NBDKMk+fS2jnMXKtudGI4lNXA766JJa2wPLlrg3uR/b9uyh/3OHB3fahTi7gE3LVQ5LQfrahFnio+fhnvg4iSN9wM/U5LC8i6GPARAb29hZEDSLgKAaojSZ5URrHMhcVM+MpPvMVRYPCeEnw5BiWvbMRdZjtSaHYjS1bZYQ5LTlCIcwVcdLgzF0XjMRHCrvYfgDYokF5hMf7xKcCeQX6RrzS14k8lAdkBahtjsPZJX+/+T7HsztqWVICLsXhs2fe9dbFDZ9ZNkqWHcxOyFTyF00UYzYskw6b0s1SaZjQ=; bm_sz=48ACAA9EC9A5D82A07EA3939BD879C7C~YAAQFV+MTwOgox2IAQAAmMtHIRNzxZXKxYRdJkcwlHLCSrnx+xZLem+oxpUOuMt/Cf/cbteaRVdmvY9T9fJnpGddmRl9eIdwB2ikSU/0W1YYPCtKQXZ53POo9WwwKDqf9G5pM4M+u1QooHaQC47avJM+vo4rJlsCX4wYLfZrippI57OBymC4FQxGGzSRAIHfR6seNzSbMA+iAHVIVdWEgEjDzmjPFhp6VGZwd5n+AewS+UpIbbj2IogOCkunP+HzfMTjndGww+IPkLjmgHT/CEOd581mjsLB5iWHyLLNvu/tEtzWNcXAIwpSepMOL+t6yRVwzn3MFo2Vjow=~3617584~3356209; _cs_mk=0.07433046930354736_1684185841229; _ga=GA1.2.660351434.1684185841; _gid=GA1.2.679214031.1684185841; _gcl_au=1.1.1368020065.1684185842; TS01173021=01f9ef228d291ea152fa54249401c001b6f65d6f614b8d2532b21bf9ab6f625bb2b887d110f13ec2902fc29415ee6eafd866abbcfa; TScaafd3c3027=08205709cbab2000d720baee5717609602acafc57b462b11a8c06ed80b3dcac3976e89ef0ffc38af083769a449113000b1d30263d7344d86a09d5a342020875472d6bf1e85f973bb75a4945e6b91761bfe7752bdb69d91494e3cad14dca7db61; _abck=178A2C55529A75A2A976E3F83D584EFF~0~YAAQFV+MT2C6pB2IAQAAyDJYIQko6zctcK19ZO1QooxffyxXTCi/rvskHlIWw66Qe0LKXzvDIElGGOyPpeUCKf7qbXg+FTR4gGymjOCWNJq8vzmIH9Eu47mWTwi5pbORfltkyB/VJWDUVhihmV1A3FVAVc3L+q6uUCte8wZiptW/6yBvq+ZzRSTb2cU8c9MjIWgsVtfHIBaxaUrc5gng3iQr/5EzLnn0ws7FEu7Bh0ET7BpWwTGJ65IIPuqcD178Gw/67iahvERN8BBjyfdEXCSUYR5LjIpEnTjb+XSh4ixyBfKryNASZeB3wCIlJVZxfFsqz5TB2uar7k2y19TTPvpsJ4SIDwnSWRd61Xm10qD8J7wfMOLFANJIj5XULafNNinBf5PUEgRCWqWtpRDCxwCHAISjnA==~-1~-1~-1; dkc_tracker=3615998827407; bm_sv=3D76676469D1955C4D346B88262B2A62~YAAQFV+MT3O6pB2IAQAADjRYIRMl8EdQi+33eUI0ZTzk271OV6lwSqaV1+AANx0VxlKYSg/V6Gg13HtET7/F7mpZfpgkD2mIdKWNKZ/hB/GXV5L8/hDYNu9MbDjtPO636k1R17n4tNG7/E6DarPyFgfW+5iBBOGhkxx76fL+f4SqgBFCnqJ8DKpFqdI5gU+QAXckF1x5kTFh4MYi72EFHeYAhNqbT4WCygdp1g98pqUg9jwfA8yBOu3P/PcOakMWT20=~1; utag_main=v_id:01882147d0220014671f96e2d8430507c004a07400bd0$_sn:1$_se:8$_ss:0$_st:1684188411614$ses_id:1684185534498%3Bexp-session$_pn:3%3Bexp-session; _gat_Production=1; _dd_s=rum=0&expire=1684187511240' \
  31. -H 'if-none-match: "61419-DHBUn9s3mLwtLWQDmtb4EiKm9TA"' \
  32. -H 'referer: https://www.google.com/' \
  33. -H 'sec-ch-ua: "Chromium";v="112", "Not_A Brand";v="24", "Opera GX";v="98"' \
  34. -H 'sec-ch-ua-mobile: ?0' \
  35. -H 'sec-ch-ua-platform: "Windows"' \
  36. -H 'sec-fetch-dest: document' \
  37. -H 'sec-fetch-mode: navigate' \
  38. -H 'sec-fetch-site: same-origin' \
  39. -H 'sec-fetch-user: ?1' \
  40. -H 'upgrade-insecure-requests: 1' \
  41. -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 OPR/98.0.0.0' \
  42. --compressed
  43. """
  44. return x + headers
  45.  
  46.  
  47.  
  48.  
  49. import subprocess
  50. from bs4 import BeautifulSoup
  51. from urllib.parse import quote
  52. from lxml import etree
  53.  
  54. BASE_URL = "https://www.digikey.com"
  55. def get_result(mpn):
  56. print("started")
  57. curl_req=get_curl_request(mpn)
  58. print(curl_req)
  59. output = subprocess.check_output(curl_req.replace("\n", " "), shell=True)
  60. # output = subprocess.check_output(curl_req, shell=True)
  61. output_str = output.decode("utf-8")
  62. #print(output_str)
  63. soup = BeautifulSoup(output_str, 'html.parser')
  64. print(str(soup))
  65. a = soup.select_one('object > a ')
  66.  
  67. if a is not None:
  68. print("On deatail page")
  69. # go to details page:
  70. url = BASE_URL + a['href']
  71. print("Requesting", url)
  72. curl_req = get_curl_url(url)
  73. output = subprocess.check_output(curl_req, shell=True)
  74. output_str = output.decode("utf-8")
  75. soup = BeautifulSoup(output_str, 'html.parser')
  76. print(str(soup))
  77. dom = etree.HTML(str(soup))
  78. r = dom.xpath('//*[@id="__next"]/main/div/div[1]/div[1]/div[2]/div/table/tbody/tr[1]/td[2]/div/div')
  79. try:
  80. print(r)
  81. return r[0].text
  82. except Exception as e:
  83. print(e)
  84. return "N/A"
  85.  
  86. x =get_result("A-2130")
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement